26 lines
924 B
TypeScript
26 lines
924 B
TypeScript
import type { Request, Response, NextFunction } from 'express';
|
|
import { getMetricasMensuales } from '../services/metricas.service.js';
|
|
import { AppError } from '../middlewares/error.middleware.js';
|
|
|
|
export async function getMensuales(req: Request, res: Response, next: NextFunction) {
|
|
try {
|
|
const contribuyenteId = req.query.contribuyenteId as string;
|
|
const anio = Number(req.query.anio);
|
|
|
|
if (!contribuyenteId || !anio) {
|
|
return next(new AppError(400, 'contribuyenteId y anio son requeridos'));
|
|
}
|
|
|
|
const regimenFiscal = req.query.regimen as string | undefined;
|
|
const metricas = await getMetricasMensuales(req.tenantPool!, contribuyenteId, anio, regimenFiscal);
|
|
|
|
const currentYear = new Date().getFullYear();
|
|
return res.json({
|
|
data: metricas,
|
|
source: anio < currentYear ? 'cold' : 'hot',
|
|
anio,
|
|
contribuyenteId,
|
|
});
|
|
} catch (err) { return next(err); }
|
|
}
|