feat(29-01): add image presentation fields to Zod schemas
Add dominantColor, cropZoom, cropX, cropY to createItemSchema, createCandidateSchema, and upsertGlobalItemSchema. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,10 @@ export const createItemSchema = z.object({
|
||||
globalItemId: z.number().int().positive().optional(),
|
||||
purchasePriceCents: z.number().int().nonnegative().optional(),
|
||||
brand: z.string().optional(),
|
||||
dominantColor: z.string().nullable().optional(),
|
||||
cropZoom: z.number().nullable().optional(),
|
||||
cropX: z.number().nullable().optional(),
|
||||
cropY: z.number().nullable().optional(),
|
||||
});
|
||||
|
||||
export const updateItemSchema = createItemSchema.partial().extend({
|
||||
@@ -62,6 +66,10 @@ export const createCandidateSchema = z.object({
|
||||
pros: z.string().optional(),
|
||||
cons: z.string().optional(),
|
||||
globalItemId: z.number().int().positive().optional(),
|
||||
dominantColor: z.string().nullable().optional(),
|
||||
cropZoom: z.number().nullable().optional(),
|
||||
cropX: z.number().nullable().optional(),
|
||||
cropY: z.number().nullable().optional(),
|
||||
});
|
||||
|
||||
export const updateCandidateSchema = createCandidateSchema.partial();
|
||||
@@ -115,6 +123,10 @@ export const upsertGlobalItemSchema = z.object({
|
||||
imageCredit: z.string().optional(),
|
||||
imageSourceUrl: z.string().url().optional().or(z.literal("")),
|
||||
tags: z.array(z.string().min(1).max(100)).max(20).optional(),
|
||||
dominantColor: z.string().nullable().optional(),
|
||||
cropZoom: z.number().nullable().optional(),
|
||||
cropX: z.number().nullable().optional(),
|
||||
cropY: z.number().nullable().optional(),
|
||||
});
|
||||
|
||||
export const bulkUpsertGlobalItemsSchema = z.object({
|
||||
|
||||
Reference in New Issue
Block a user