import { z } from "zod" export const pageStatusSchema = z.enum(["draft", "published"]) export const createPageInputSchema = z.object({ title: z.string().min(1).max(180), slug: z.string().min(1).max(180), status: pageStatusSchema.default("draft"), summary: z.string().max(500).nullable().optional(), content: z.string().min(1), seoTitle: z.string().max(180).nullable().optional(), seoDescription: z.string().max(320).nullable().optional(), }) export const updatePageInputSchema = z.object({ id: z.string().uuid(), title: z.string().min(1).max(180).optional(), slug: z.string().min(1).max(180).optional(), status: pageStatusSchema.optional(), summary: z.string().max(500).nullable().optional(), content: z.string().min(1).optional(), seoTitle: z.string().max(180).nullable().optional(), seoDescription: z.string().max(320).nullable().optional(), }) export const createNavigationMenuInputSchema = z.object({ name: z.string().min(1).max(180), slug: z.string().min(1).max(180), location: z.string().min(1).max(80).default("primary"), isVisible: z.boolean().default(true), }) export const createNavigationItemInputSchema = z.object({ menuId: z.string().uuid(), label: z.string().min(1).max(180), href: z.string().max(500).nullable().optional(), pageId: z.string().uuid().nullable().optional(), parentId: z.string().uuid().nullable().optional(), sortOrder: z.number().int().min(0).default(0), isVisible: z.boolean().default(true), }) export const updateNavigationItemInputSchema = z.object({ id: z.string().uuid(), label: z.string().min(1).max(180).optional(), href: z.string().max(500).nullable().optional(), pageId: z.string().uuid().nullable().optional(), parentId: z.string().uuid().nullable().optional(), sortOrder: z.number().int().min(0).optional(), isVisible: z.boolean().optional(), }) export type CreatePageInput = z.infer export type UpdatePageInput = z.infer export type CreateNavigationMenuInput = z.infer export type CreateNavigationItemInput = z.infer export type UpdateNavigationItemInput = z.infer