- Agrega migración 050 con columnas de aprobación de cliente (requiere_aprobacion_cliente, estado_cliente, aprobado_por_cliente, etc.) - Backend: endpoints /aprobar-cliente y /rechazar-cliente con validación de permisos - Backend: list/download permiten acceso a clientes filtrando por entidades visibles - Backend: notificación por email a clientes cuando se les solicita aprobación - Frontend: checkbox independiente para solicitar aprobación del cliente - Frontend: badge de estado combinado (owner + cliente) - Frontend: botones de aprobar/rechazar para clientes en su propio flujo
21 lines
729 B
TypeScript
21 lines
729 B
TypeScript
import { Router, type IRouter } from 'express';
|
|
import { authenticate } from '../middlewares/auth.middleware.js';
|
|
import { tenantMiddleware } from '../middlewares/tenant.middleware.js';
|
|
import * as ctrl from '../controllers/papeleria.controller.js';
|
|
|
|
const router: IRouter = Router();
|
|
|
|
router.use(authenticate);
|
|
router.use(tenantMiddleware);
|
|
|
|
router.get('/', ctrl.list);
|
|
router.post('/', ctrl.upload);
|
|
router.get('/:id/download', ctrl.download);
|
|
router.post('/:id/aprobar', ctrl.aprobar);
|
|
router.post('/:id/rechazar', ctrl.rechazar);
|
|
router.post('/:id/aprobar-cliente', ctrl.aprobarCliente);
|
|
router.post('/:id/rechazar-cliente', ctrl.rechazarCliente);
|
|
router.delete('/:id', ctrl.eliminar);
|
|
|
|
export { router as papeleriaRoutes };
|