feat: sessão #3 — lib (db/auth/email/validations), API routes, NextAuth v5, middleware, páginas account/shelters/shelter-dashboard, Prisma v7 fix

This commit is contained in:
2026-05-21 09:01:59 +01:00
parent e6ebc0909c
commit e62dc9d6e6
44 changed files with 5341 additions and 273 deletions

View File

@@ -0,0 +1,17 @@
import { z } from 'zod';
export const createReservationSchema = z.object({
animalId: z.string().cuid('ID de animal inválido.'),
date: z
.string()
.refine((v) => !isNaN(new Date(v).getTime()), 'Data inválida.')
.refine((v) => new Date(v) > new Date(), 'A data tem de ser no futuro.'),
notes: z.string().max(500).optional(),
});
export const updateReservationSchema = z.object({
status: z.enum(['CONFIRMED', 'CANCELLED', 'COMPLETED']),
});
export type CreateReservationInput = z.infer<typeof createReservationSchema>;
export type UpdateReservationInput = z.infer<typeof updateReservationSchema>;