feat: add Zod validation schemas for all domain routes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
24
src/schemas/vehicles.schema.ts
Normal file
24
src/schemas/vehicles.schema.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
export const CreateVehicleSchema = z.object({
|
||||
spz: z.string().min(1, 'SPZ je povinná'),
|
||||
name: z.string().min(1, 'Název je povinný'),
|
||||
brand: z.string().nullish(),
|
||||
model: z.string().nullish(),
|
||||
initial_km: z.union([z.number(), z.string()]).transform(v => Number(v)).optional().default(0),
|
||||
actual_km: z.union([z.number(), z.string()]).transform(v => Number(v)).optional().default(0),
|
||||
is_active: z.any().optional().default(true),
|
||||
});
|
||||
|
||||
export const UpdateVehicleSchema = z.object({
|
||||
spz: z.string().optional(),
|
||||
name: z.string().optional(),
|
||||
brand: z.string().nullish(),
|
||||
model: z.string().nullish(),
|
||||
initial_km: z.union([z.number(), z.string()]).transform(v => Number(v)).optional(),
|
||||
actual_km: z.union([z.number(), z.string()]).transform(v => Number(v)).optional(),
|
||||
is_active: z.any().optional(),
|
||||
});
|
||||
|
||||
export type CreateVehicleInput = z.infer<typeof CreateVehicleSchema>;
|
||||
export type UpdateVehicleInput = z.infer<typeof UpdateVehicleSchema>;
|
||||
Reference in New Issue
Block a user