Initial commit - Horux Despachos NL

This commit is contained in:
2026-05-03 16:47:53 -06:00
commit b00b677c54
647 changed files with 133843 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
import { Router, type IRouter } from 'express';
import * as satController from '../controllers/sat.controller.js';
import { authenticate, authorize } from '../middlewares/auth.middleware.js';
import { tenantMiddleware } from '../middlewares/tenant.middleware.js';
import { veryStrictLimit } from '../middlewares/rate-limit.middleware.js';
const router: IRouter = Router();
router.use(authenticate);
router.use(tenantMiddleware);
// POST /api/sat/sync - Iniciar sincronización manual (2/día por user, admin global exento)
router.post('/sync', veryStrictLimit, satController.start);
// GET /api/sat/sync/status - Estado actual de sincronización
router.get('/sync/status', satController.status);
// GET /api/sat/sync/history - Historial de sincronizaciones
router.get('/sync/history', satController.history);
// GET /api/sat/sync/:id - Detalle de un job
router.get('/sync/:id', satController.jobDetail);
// POST /api/sat/sync/:id/retry - Reintentar job fallido
router.post('/sync/:id/retry', satController.retry);
// Admin-only cron endpoints (global admin verified in controller)
router.get('/cron', authorize('owner', 'cfo'), satController.cronInfo);
router.post('/cron/run', authorize('owner', 'cfo'), satController.runCron);
export default router;