feat: unify tasting form refactor & align db schema status levels

This commit is contained in:
2025-12-23 22:13:05 +01:00
parent 6a41667f9c
commit 11275dd875
11 changed files with 570 additions and 442 deletions

View File

@@ -15,6 +15,8 @@ export const BottleMetadataSchema = z.object({
batch_info: z.string().trim().max(255).nullish(),
is_whisky: z.boolean().default(true),
confidence: z.number().min(0).max(100).default(100),
purchase_price: z.number().min(0).nullish(),
status: z.enum(['sealed', 'open', 'sampled', 'empty']).default('sealed').nullish(),
suggested_tags: z.array(z.string().trim().max(100)).nullish(),
suggested_custom_tags: z.array(z.string().trim().max(100)).nullish(),
});
@@ -37,16 +39,17 @@ export const TastingNoteSchema = z.object({
export type TastingNoteData = z.infer<typeof TastingNoteSchema>;
export const UpdateBottleSchema = z.object({
name: z.string().trim().min(1).max(255).optional(),
distillery: z.string().trim().max(255).optional(),
category: z.string().trim().max(100).optional(),
abv: z.number().min(0).max(100).optional(),
age: z.number().min(0).max(100).optional(),
whiskybase_id: z.string().trim().max(50).optional(),
purchase_price: z.number().min(0).optional(),
distilled_at: z.string().trim().max(50).optional(),
bottled_at: z.string().trim().max(50).optional(),
batch_info: z.string().trim().max(255).optional(),
name: z.string().trim().min(1).max(255).nullish(),
distillery: z.string().trim().max(255).nullish(),
category: z.string().trim().max(100).nullish(),
abv: z.number().min(0).max(100).nullish(),
age: z.number().min(0).max(100).nullish(),
whiskybase_id: z.string().trim().max(50).nullish(),
purchase_price: z.number().min(0).nullish(),
distilled_at: z.string().trim().max(50).nullish(),
bottled_at: z.string().trim().max(50).nullish(),
batch_info: z.string().trim().max(255).nullish(),
status: z.enum(['sealed', 'open', 'sampled', 'empty']).nullish(),
});
export type UpdateBottleData = z.infer<typeof UpdateBottleSchema>;