import { z } from 'zod' export const postStatusSchema = z.enum(['published', 'draft', 'members', 'private']) export const pageStatusSchema = z.enum(['published', 'draft', 'private']) export const postSchema = z.object({ id: z.string().uuid(), title: z.string().min(1), slug: z.string().min(1), content: z.string(), excerpt: z.string().default(''), featuredImage: z.string().nullable().default(null), isFeatured: z.boolean().default(false), commentCount: z.number().int().default(0), seoTitle: z.string().default(''), seoDescription: z.string().default(''), canonicalUrl: z.string().default(''), noindex: z.boolean().default(false), ogImage: z.string().nullable().default(null), status: postStatusSchema, publishedAt: z.string().nullable().default(null), createdAt: z.string(), updatedAt: z.string(), tags: z.array(z.string()).default([]) }) export const pageSchema = z.object({ id: z.string().uuid(), title: z.string().min(1), slug: z.string().min(1), content: z.string(), renderMode: z.enum(['markdown', 'html_document']).default('markdown'), status: pageStatusSchema.default('published'), featuredImage: z.string().nullable().default(null), createdAt: z.string(), updatedAt: z.string() }) export const tagSchema = z.object({ id: z.string().uuid(), name: z.string().min(1), slug: z.string().min(1), description: z.string().default(''), sortOrder: z.number().int().default(0), color: z.string().default('#15171a') })