[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
|
* GET /reconciliations/:id
|
||||||
* Obtiene una conciliación por 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const reconciliation = await service.findReconciliationById(ctx, req.params.id);
|
||||||
if (!reconciliation) {
|
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);
|
res.json(reconciliation);
|
||||||
@ -377,7 +378,7 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
|||||||
* POST /reconciliations/:id/reconcile-movement
|
* POST /reconciliations/:id/reconcile-movement
|
||||||
* Concilia un movimiento
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -386,7 +387,8 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
|||||||
|
|
||||||
const { movementId } = req.body;
|
const { movementId } = req.body;
|
||||||
if (!movementId) {
|
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);
|
const reconciliation = await service.reconcileMovement(ctx, req.params.id, movementId);
|
||||||
|
|||||||
@ -67,7 +67,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
|||||||
* GET /summary
|
* GET /summary
|
||||||
* Obtiene resumen de flujo de efectivo
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const endDate = new Date(req.query.endDate as string);
|
||||||
|
|
||||||
if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {
|
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 = {
|
const options = {
|
||||||
@ -121,7 +122,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
|||||||
* GET /:id
|
* GET /:id
|
||||||
* Obtiene una proyección por 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const projection = await service.findById(ctx, req.params.id);
|
||||||
if (!projection) {
|
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);
|
res.json(projection);
|
||||||
@ -217,7 +219,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
|||||||
* POST /generate
|
* POST /generate
|
||||||
* Genera proyección automática para un periodo
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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;
|
const { periodStart, periodEnd, periodType, projectId, projectCode } = req.body;
|
||||||
|
|
||||||
if (!periodStart || !periodEnd) {
|
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(
|
const projection = await service.generateProjection(
|
||||||
@ -247,7 +250,7 @@ export function createCashFlowController(dataSource: DataSource): Router {
|
|||||||
* POST /generate-multiple
|
* POST /generate-multiple
|
||||||
* Genera múltiples proyecciones (ej: 4 semanas)
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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;
|
const { startDate, weeks, projectId, projectCode } = req.body;
|
||||||
|
|
||||||
if (!startDate || !weeks) {
|
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(
|
const projections = await service.generateMultiplePeriods(
|
||||||
|
|||||||
@ -47,7 +47,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /income-statement
|
* GET /income-statement
|
||||||
* Genera estado de resultados
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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 = {
|
const options = {
|
||||||
@ -81,7 +82,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /cash-flow-statement
|
* GET /cash-flow-statement
|
||||||
* Genera estado de flujo de efectivo
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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 = {
|
const options = {
|
||||||
@ -115,7 +117,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /trial-balance
|
* GET /trial-balance
|
||||||
* Genera balanza de comprobación
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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 = {
|
const options = {
|
||||||
@ -150,7 +153,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /account-statement/:accountId
|
* GET /account-statement/:accountId
|
||||||
* Genera estado de cuenta
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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(
|
const report = await reportsService.generateAccountStatement(
|
||||||
@ -200,7 +204,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /export/sap
|
* GET /export/sap
|
||||||
* Exporta pólizas para 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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 = {
|
const options = {
|
||||||
@ -236,7 +241,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /export/contpaqi
|
* GET /export/contpaqi
|
||||||
* Exporta pólizas para 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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 = {
|
const options = {
|
||||||
@ -276,7 +282,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /export/cfdi-polizas
|
* GET /export/cfdi-polizas
|
||||||
* Exporta pólizas en formato CFDI
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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 = {
|
const options = {
|
||||||
@ -344,7 +351,7 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
* GET /export/trial-balance
|
* GET /export/trial-balance
|
||||||
* Exporta balanza de comprobación
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
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);
|
const periodEnd = new Date(req.query.periodEnd as string);
|
||||||
|
|
||||||
if (isNaN(periodStart.getTime()) || isNaN(periodEnd.getTime())) {
|
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';
|
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
|
* POST /import/chart-of-accounts
|
||||||
* Importa catálogo de cuentas
|
* 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 {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -396,7 +404,8 @@ export function createReportsController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const { data, format } = req.body;
|
const { data, format } = req.body;
|
||||||
if (!data || !format) {
|
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);
|
const result = await integrationService.importChartOfAccounts(ctx, data, format);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user