Add 'recientes' endpoint and implement logic to fetch recent events from the service #32
@@ -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();
|
||||
|
||||
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user