Files
HoruxDespachosNuevo/apps/api/src/controllers/metricas.controller.ts

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); }
}