Files
2026-09-10 07:56:17 -04:00

19 lines
714 B
JavaScript

import { z } from 'zod';
export const sellerSettingsSchema = z.object({
general: z.object({
publicDescription: z.string().trim().max(2000).optional(),
publicContactEmail: z.string().trim().pipe(z.union([z.literal(''), z.string().email()])).optional(),
publicContactPhone: z.string().trim().max(50).optional(),
}).strict().optional(),
inventory: z.object({
maxImagesPerItem: z.int().min(1).max(100).optional(),
}).strict().optional(),
pricing: z.object({
defaultStrategy: z.enum(['average', 'median', 'weighted_average']).optional(),
}).strict().optional(),
security: z.object({
sessionIdleMinutes: z.int().min(5).max(43200).optional(),
}).strict().optional(),
}).strict();