feat: reconcile application vertical slices

Backfill the completed acquisitions, sales, dashboard, pricing, search, public detail, worker, migration, contracts, validation, tests, and implementation-status changes into one verified application slice.
This commit is contained in:
2026-09-09 22:12:53 -04:00
parent b9ff7445a6
commit b8f089a5d9
78 changed files with 4561 additions and 2057 deletions
+21 -15
View File
@@ -1,16 +1,22 @@
import { z } from 'zod';
import { z } from "zod";
export const createAcquisitionSchema = z.object({
inventoryItemId: z.uuid(),
method: z.string().trim().min(1).max(100),
costMinor: z.int().nonnegative(),
currency: z.string().trim().regex(/^[A-Za-z]{3}$/).optional(),
date: z.string().trim().max(10).optional(),
source: z.string().trim().max(255).optional(),
location: z.string().trim().max(255).optional(),
shippingMinor: z.int().nonnegative().optional(),
taxMinor: z.int().nonnegative().optional(),
otherFeesMinor: z.int().nonnegative().optional(),
estimatedTradeValueMinor: z.int().nonnegative().optional(),
notes: z.string().trim().max(10000).optional(),
}).strict();
export const createAcquisitionSchema = z
.object({
inventoryItemId: z.uuid(),
method: z.string().trim().min(1).max(100),
costMinor: z.int().nonnegative(),
currency: z
.string()
.trim()
.regex(/^[A-Za-z]{3}$/)
.optional(),
date: z.string().trim().max(10).optional(),
source: z.string().trim().max(255).optional(),
location: z.string().trim().max(255).optional(),
shippingMinor: z.int().nonnegative().optional(),
taxMinor: z.int().nonnegative().optional(),
otherFeesMinor: z.int().nonnegative().optional(),
estimatedTradeValueMinor: z.int().nonnegative().optional(),
notes: z.string().trim().max(10000).optional(),
})
.strict();