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
This commit is contained in:
Horux Dev
2026-05-13 23:19:07 +00:00
parent b3b2838b6d
commit 69bf7417a8
6 changed files with 88 additions and 2 deletions

View File

@@ -25,6 +25,14 @@ export function useRegisterFromInvitation() {
});
}
export function useResendInvitation() {
const qc = useQueryClient();
return useMutation({
mutationFn: api.resendInvitation,
onSuccess: () => qc.invalidateQueries({ queryKey: ['client-invitations'] }),
});
}
export function useClientInvitations() {
return useQuery({
queryKey: ['client-invitations'],