[TS-FIX] fix: Fix TS7030 errors in finance controllers
- Add Promise<void> return type to async handlers with conditional returns - Change 'return res.status()' to 'res.status(); return;' pattern - Fixed controllers: ap, ar, bank-reconciliation, cash-flow, reports, accounting Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
5775585a98
commit
369f461695
@ -319,7 +319,7 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
||||
* GET /reconciliations/:id
|
||||
* Obtiene una conciliación por ID
|
||||
*/
|
||||
router.get('/reconciliations/:id', async (req: Request, res: Response) => {
|
||||
router.get('/reconciliations/:id', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -328,7 +328,8 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
||||
|
||||
const reconciliation = await service.findReconciliationById(ctx, req.params.id);
|
||||
if (!reconciliation) {
|
||||
return res.status(404).json({ error: 'Conciliación no encontrada' });
|
||||
res.status(404).json({ error: 'Conciliación no encontrada' });
|
||||
return;
|
||||
}
|
||||
|
||||
res.json(reconciliation);
|
||||
@ -377,7 +378,7 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
||||
* POST /reconciliations/:id/reconcile-movement
|
||||
* Concilia un movimiento
|
||||
*/
|
||||
router.post('/reconciliations/:id/reconcile-movement', async (req: Request, res: Response) => {
|
||||
router.post('/reconciliations/:id/reconcile-movement', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -386,7 +387,8 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
||||
|
||||
const { movementId } = req.body;
|
||||
if (!movementId) {
|
||||
return res.status(400).json({ error: 'Se requiere ID del movimiento' });
|
||||
res.status(400).json({ error: 'Se requiere ID del movimiento' });
|
||||
return;
|
||||
}
|
||||
|
||||
const reconciliation = await service.reconcileMovement(ctx, req.params.id, movementId);
|
||||
|
||||
@ -67,7 +67,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
* GET /summary
|
||||
* Obtiene resumen de flujo de efectivo
|
||||
*/
|
||||
router.get('/summary', async (req: Request, res: Response) => {
|
||||
router.get('/summary', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -78,7 +78,8 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
const endDate = new Date(req.query.endDate as string);
|
||||
|
||||
if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const options = {
|
||||
@ -121,7 +122,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
* GET /:id
|
||||
* Obtiene una proyección por ID
|
||||
*/
|
||||
router.get('/:id', async (req: Request, res: Response) => {
|
||||
router.get('/:id', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -130,7 +131,8 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
|
||||
const projection = await service.findById(ctx, req.params.id);
|
||||
if (!projection) {
|
||||
return res.status(404).json({ error: 'Proyección no encontrada' });
|
||||
res.status(404).json({ error: 'Proyección no encontrada' });
|
||||
return;
|
||||
}
|
||||
|
||||
res.json(projection);
|
||||
@ -217,7 +219,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
* POST /generate
|
||||
* Genera proyección automática para un periodo
|
||||
*/
|
||||
router.post('/generate', async (req: Request, res: Response) => {
|
||||
router.post('/generate', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -227,7 +229,8 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
const { periodStart, periodEnd, periodType, projectId, projectCode } = req.body;
|
||||
|
||||
if (!periodStart || !periodEnd) {
|
||||
return res.status(400).json({ error: 'Se requieren fechas de inicio y fin' });
|
||||
res.status(400).json({ error: 'Se requieren fechas de inicio y fin' });
|
||||
return;
|
||||
}
|
||||
|
||||
const projection = await service.generateProjection(
|
||||
@ -247,7 +250,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
* POST /generate-multiple
|
||||
* Genera múltiples proyecciones (ej: 4 semanas)
|
||||
*/
|
||||
router.post('/generate-multiple', async (req: Request, res: Response) => {
|
||||
router.post('/generate-multiple', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -257,7 +260,8 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
||||
const { startDate, weeks, projectId, projectCode } = req.body;
|
||||
|
||||
if (!startDate || !weeks) {
|
||||
return res.status(400).json({ error: 'Se requiere fecha de inicio y número de semanas' });
|
||||
res.status(400).json({ error: 'Se requiere fecha de inicio y número de semanas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const projections = await service.generateMultiplePeriods(
|
||||
|
||||
@ -47,7 +47,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /income-statement
|
||||
* Genera estado de resultados
|
||||
*/
|
||||
router.get('/income-statement', async (req: Request, res: Response) => {
|
||||
router.get('/income-statement', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -58,7 +58,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const options = {
|
||||
@ -81,7 +82,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /cash-flow-statement
|
||||
* Genera estado de flujo de efectivo
|
||||
*/
|
||||
router.get('/cash-flow-statement', async (req: Request, res: Response) => {
|
||||
router.get('/cash-flow-statement', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -92,7 +93,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const options = {
|
||||
@ -115,7 +117,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /trial-balance
|
||||
* Genera balanza de comprobación
|
||||
*/
|
||||
router.get('/trial-balance', async (req: Request, res: Response) => {
|
||||
router.get('/trial-balance', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -126,7 +128,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const options = {
|
||||
@ -150,7 +153,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /account-statement/:accountId
|
||||
* Genera estado de cuenta
|
||||
*/
|
||||
router.get('/account-statement/:accountId', async (req: Request, res: Response) => {
|
||||
router.get('/account-statement/:accountId', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -161,7 +164,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const report = await reportsService.generateAccountStatement(
|
||||
@ -200,7 +204,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /export/sap
|
||||
* Exporta pólizas para SAP
|
||||
*/
|
||||
router.get('/export/sap', async (req: Request, res: Response) => {
|
||||
router.get('/export/sap', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -211,7 +215,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const options = {
|
||||
@ -236,7 +241,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /export/contpaqi
|
||||
* Exporta pólizas para CONTPAQi
|
||||
*/
|
||||
router.get('/export/contpaqi', async (req: Request, res: Response) => {
|
||||
router.get('/export/contpaqi', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -247,7 +252,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const options = {
|
||||
@ -276,7 +282,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /export/cfdi-polizas
|
||||
* Exporta pólizas en formato CFDI
|
||||
*/
|
||||
router.get('/export/cfdi-polizas', async (req: Request, res: Response) => {
|
||||
router.get('/export/cfdi-polizas', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -287,7 +293,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const options = {
|
||||
@ -344,7 +351,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* GET /export/trial-balance
|
||||
* Exporta balanza de comprobación
|
||||
*/
|
||||
router.get('/export/trial-balance', async (req: Request, res: Response) => {
|
||||
router.get('/export/trial-balance', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -355,7 +362,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
const periodEnd = new Date(req.query.periodEnd as string);
|
||||
|
||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
||||
res.status(400).json({ error: 'Fechas inválidas' });
|
||||
return;
|
||||
}
|
||||
|
||||
const format = (req.query.format as 'csv' | 'xml' | 'json') || 'csv';
|
||||
@ -387,7 +395,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
* POST /import/chart-of-accounts
|
||||
* Importa catálogo de cuentas
|
||||
*/
|
||||
router.post('/import/chart-of-accounts', async (req: Request, res: Response) => {
|
||||
router.post('/import/chart-of-accounts', async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const ctx = {
|
||||
tenantId: req.headers['x-tenant-id'] as string,
|
||||
@ -396,7 +404,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
||||
|
||||
const { data, format } = req.body;
|
||||
if (!data || !format) {
|
||||
return res.status(400).json({ error: 'Se requieren datos y formato' });
|
||||
res.status(400).json({ error: 'Se requieren datos y formato' });
|
||||
return;
|
||||
}
|
||||
|
||||
const result = await integrationService.importChartOfAccounts(ctx, data, format);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user