diff --git a/src/evento/evento.controller.ts b/src/evento/evento.controller.ts index f202559..a3bb108 100644 --- a/src/evento/evento.controller.ts +++ b/src/evento/evento.controller.ts @@ -41,6 +41,11 @@ export class EventoController { return this.eventoService.getEventosActivosCuestionarios(); } + @Get('recientes') + getEventosRecientes(): Promise { + return this.eventoService.getEventosRecientes(); + } + @Get('activos') getEventosActivos(): Promise { return this.eventoService.getEventosActivos(); diff --git a/src/evento/evento.service.ts b/src/evento/evento.service.ts index e184d45..801b76b 100644 --- a/src/evento/evento.service.ts +++ b/src/evento/evento.service.ts @@ -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 { + 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({