feat(captura): módulo de captura por departamentos
Backend: tabla CapturaDepartamento, 5 departamentos, 7 desarrollos, service CRUD + importador Excel + 6 endpoints. Frontend: tabla editable inline, tabs por dept, resumen avance, paginación, filtro estatus, permisos por rol, dark mode. 746 API tests + 42 landing tests.
This commit is contained in:
@@ -106,6 +106,15 @@ import {
|
||||
desuscribirEndpoint,
|
||||
vapidKeyEndpoint,
|
||||
} from '../controllers/push.controller.js'
|
||||
import {
|
||||
listarEndpoint as listarCapturaEndpoint,
|
||||
unidadesEndpoint as unidadesCapturaEndpoint,
|
||||
resumenEndpoint as resumenCapturaEndpoint,
|
||||
guardarEndpoint as guardarCapturaEndpoint,
|
||||
bulkEndpoint as bulkCapturaEndpoint,
|
||||
importarEndpoint as importarCapturaEndpoint,
|
||||
requireAdminCaptura,
|
||||
} from '../controllers/captura-departamento.controller.js'
|
||||
|
||||
export const apiRouter = Router()
|
||||
|
||||
@@ -236,6 +245,14 @@ apiRouter.patch('/config/usuarios/:id', requireAdmin, actualizarUsuarioEndpoint)
|
||||
apiRouter.post('/config/reset-roles', requireAdmin, resetRolesEndpoint)
|
||||
apiRouter.get('/config/acciones', obtenerAccionesEndpoint)
|
||||
|
||||
// ── Captura por departamentos ────────────────────────────────────────
|
||||
apiRouter.get('/captura', listarCapturaEndpoint)
|
||||
apiRouter.get('/captura/unidades', unidadesCapturaEndpoint)
|
||||
apiRouter.get('/captura/resumen', resumenCapturaEndpoint)
|
||||
apiRouter.post('/captura', guardarCapturaEndpoint)
|
||||
apiRouter.post('/captura/bulk', bulkCapturaEndpoint)
|
||||
apiRouter.post('/captura/importar', requireAdminCaptura, importarCapturaEndpoint)
|
||||
|
||||
// ── Push notifications ──────────────────────────────────────────────
|
||||
apiRouter.get('/push/vapid-key', vapidKeyEndpoint)
|
||||
apiRouter.post('/push/suscribir', suscribirEndpoint)
|
||||
|
||||
Reference in New Issue
Block a user