0x1998 - MANAGER
Düzenlenen Dosya: shape.js
import { z } from 'zod'; // get-home const patternShape = z.looseObject({ name: z.string(), code: z.string(), patternTypes: z.array(z.string()), }); export const homeTemplateShape = z.looseObject({ id: z.string(), slug: z.string(), headerCode: z.string().optional(), footerCode: z.string().optional(), patterns: z.array(patternShape), }); export const getHomeShape = z.looseObject({ home: homeTemplateShape, }); // get-images export const getImagesShape = z.looseObject({ siteImages: z.array(z.string()), }); // get-logo export const getLogoShape = z.looseObject({ logoUrl: z.url(), }); // get-pages export const pageTemplateShape = z.looseObject({ id: z.string(), slug: z.string(), name: z.string(), patterns: z.array(patternShape), siteStyle: z.object(), }); export const getPagesShape = z.looseObject({ pages: z.array(pageTemplateShape), }); // get-plugins export const pluginShape = z.looseObject({ name: z.string(), wordpressSlug: z.string(), }); export const getPluginsShape = z.object({ sitePlugins: z.array(pluginShape), }); // get-profile export const getProfileShape = z.looseObject({ type: z.string(), title: z.string(), description: z.string(), descriptionRaw: z.string().optional(), objective: z.string(), category: z.string().optional(), structure: z.string(), imageSearchTerms: z.array(z.string()), tone: z.array(z.string()), logoObjectName: z.string(), products: z.union([z.string(), z.literal(false)]), appointments: z.boolean(), events: z.boolean(), donations: z.boolean(), multilingual: z.boolean(), contact: z.boolean(), address: z.union([z.boolean(), z.string()]), blog: z.boolean(), landingPage: z.boolean(), landingPageCTALink: z.union([z.literal(false), z.string()]), phoneNumber: z.union([z.boolean(), z.string()]).optional(), }); // get-strings export const getStringsShape = z.looseObject({ aiHeaders: z.array(z.string()), aiBlogTitles: z.array(z.string()), }); // get-style export const styleShape = z.looseObject({ vibe: z.string(), fonts: z.looseObject(), variation: z.looseObject(), colorPalette: z.string(), animation: z.string(), }); export const getStyleShape = z.object({ siteStyle: styleShape.extend({ variation: z.looseObject().optional() }), });
geri dön