Files
HoruxDespachosNuevo/apps/api/src/routes/client-invitations.routes.ts
Horux Dev 69bf7417a8 feat(invitations): reenviar invitaciones pendientes desde admin
Backend:
- client-invitations.service.ts: funcion resendInvitation() que
  genera nuevo token, actualiza expiresAt y reenvia el email.
- Controller + routes: POST /invitations/client/:id/resend

Frontend:
- API client + hook useResendInvitation con invalidacion de cache.
- Pagina /admin/invitar-cliente: boton 'Reenviar' por cada
  invitacion pendiente en la tabla.

Refs: docs/CAMBIOS-2026-05-09.md
2026-05-13 23:19:07 +00:00

17 lines
725 B
TypeScript

import { Router, type Request, type Response, type NextFunction } from 'express';
import * as controller from '../controllers/client-invitations.controller.js';
import { authenticate } from '../middlewares/auth.middleware.js';
const router: Router = Router();
// Público: validar token y registrarse desde invitación
router.get('/validate/:token', controller.validateToken);
router.post('/register/:token', controller.registerFromInvitation);
// Protegido: admin global crea, reenvia y lista invitaciones
router.post('/', authenticate, controller.createInvitation);
router.post('/:id/resend', authenticate, controller.resendInvitation);
router.get('/', authenticate, controller.listInvitations);
export default router;