Files
app/src/schemas/planCategory.schema.ts
BOHA d3d7f7e199 feat(plan): add plan category zod schemas
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 00:33:47 +02:00

28 lines
772 B
TypeScript

import { z } from "zod";
const hexColor = z
.string()
.regex(/^#[0-9a-fA-F]{6}$/, "Barva musí být ve formátu #RRGGBB");
export const CreatePlanCategorySchema = z.object({
label: z
.string()
.trim()
.min(1, "Název je povinný")
.max(100, "Maximálně 100 znaků"),
color: hexColor,
});
export const UpdatePlanCategorySchema = z
.object({
label: z.string().trim().min(1, "Název je povinný").max(100).optional(),
color: hexColor.optional(),
is_active: z.boolean().optional(),
})
.refine((v) => Object.keys(v).length > 0, {
message: "Nic k aktualizaci",
});
export type CreatePlanCategoryInput = z.infer<typeof CreatePlanCategorySchema>;
export type UpdatePlanCategoryInput = z.infer<typeof UpdatePlanCategorySchema>;