Merge pull request 'Add 'recientes' endpoint and implement logic to fetch recent events from the service' (#32) from develop into master

Reviewed-on: #32
This commit was merged in pull request #32.
This commit is contained in:
2025-08-11 09:48:06 -06:00
2 changed files with 29 additions and 2 deletions
+5
View File
@@ -41,6 +41,11 @@ export class EventoController {
return this.eventoService.getEventosActivosCuestionarios();
}
@Get('recientes')
getEventosRecientes(): Promise<Evento[]> {
return this.eventoService.getEventosRecientes();
}
@Get('activos')
getEventosActivos(): Promise<Evento[]> {
return this.eventoService.getEventosActivos();
+24 -2
View File
@@ -57,8 +57,14 @@ export class EventoService {
if (existsSync(bannerPath)) {
try {
unlinkSync(bannerPath);
} catch (err) {
console.error(`Error al eliminar el banner anterior: ${err.message}`);
} catch (err: unknown) {
let errorMessage = '';
if (err && typeof err === 'object' && 'message' in err) {
errorMessage = (err as { message?: string }).message ?? '';
}
console.error(
`Error al eliminar el banner anterior: ${errorMessage}`,
);
}
}
}
@@ -180,6 +186,22 @@ export class EventoService {
return this.eventoRepository.save(updateEvento);
}
async getEventosRecientes(): Promise<Evento[]> {
const now = new Date();
const pastDate = new Date();
pastDate.setDate(now.getDate() - 30); // Últimos 30 días
return this.eventoRepository.find({
where: {
fecha_inicio: MoreThan(pastDate),
},
order: {
fecha_inicio: 'DESC',
},
take: 10, // Limitar a los 10 eventos más recientes
});
}
async getEventosActivos() {
const now = new Date();
return this.eventoRepository.find({