task-managment / src / lib / schemas / projectAreaSchema.ts
projectAreaSchema.ts
Raw
import { areaStatusEnum } from "@/server/project/domain/models";
import { z } from "zod";

export const projectAreaSchema = z.object({
    type: z.string().min(1, { message: "El tipo es requerido" }),
    length: z.coerce.number().min(0,{message:'Longitud invalida'}),
    width: z.coerce.number().min(0,{message:'Ancho invalido'}),
    quantity: z.number().int().min(1, { message: "La cantidad mínima es 1" }).default(1),
    floorId: z.string().uuid({ message: "El ID del piso debe ser un UUID válido" }),
    projectId: z.string().uuid({ message: "ProjectId debe ser un UUID válido" }),
    projectName: z.string().min(1, { message: "El nombre del proyecto es requerido" }),
    status: z.enum(areaStatusEnum, { message: "Estado inválido" }).optional().nullable(),
});