import { z } from "zod"; export const CreateTripSchema = z.object({ vehicle_id: z.union([z.number(), z.string()]).transform((v) => Number(v)), user_id: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), trip_date: z.string(), start_km: z.union([z.number(), z.string()]).transform((v) => Number(v)), end_km: z.union([z.number(), z.string()]).transform((v) => Number(v)), route_from: z.string(), route_to: z.string(), is_business: z .preprocess((v) => v === true || v === 1 || v === "1", z.boolean()) .optional() .default(false), notes: z.string().nullish(), }); export const UpdateTripSchema = z.object({ trip_date: z.string().optional(), start_km: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), end_km: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), route_from: z.string().optional(), route_to: z.string().optional(), is_business: z .preprocess((v) => v === true || v === 1 || v === "1", z.boolean()) .optional(), notes: z.string().nullish(), }); export type CreateTripInput = z.infer; export type UpdateTripInput = z.infer;