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:
17
lib/validations/reservation.ts
Normal file
17
lib/validations/reservation.ts
Normal 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>;
|
||||
Reference in New Issue
Block a user