UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

60 lines 2.4 kB
import { z } from 'zod'; import { BaseResponseSchema } from '../../../core/schemas'; import { InvProfileLineTypeSchema } from './common'; // Inventory operation schemas export const InventoryAvailabilitySchema = z.object({ inv_mast_uid: z.number(), item_id: z.string(), description: z.string(), qty_on_hand: z.number(), default_selling_unit: z.string(), type: z.union([z.literal('prophet21'), z.literal('products')]), }); export const InventoryAvailabilityParamsSchema = z.object({ q: z.string().min(1, 'Search query is required'), }); export const InventoryAdjustmentSchema = z.object({ inv_mast_uid: z.coerce.number(), qty_on_hand: z.coerce.number(), reason: z.string().optional(), }); export const InventoryAdjustRequestSchema = z.object({ adjustments: z.array(InventoryAdjustmentSchema).min(1, 'At least one adjustment is required'), }); export const InventoryReceiptSchema = z.object({ inv_mast_uid: z.coerce.number(), qty_received: z.coerce.number(), po_number: z.string().optional(), lot_number: z.string().optional(), }); export const InventoryReceiveRequestSchema = z.object({ receipts: z.array(InventoryReceiptSchema).min(1, 'At least one receipt is required'), }); export const TransferItemSchema = z.object({ inv_mast_uid: z.coerce.number(), qty_to_transfer: z.coerce.number(), reason: z.string().optional(), }); export const TransferRequestSchema = z.object({ to_warehouse_uid: z.coerce.number(), transfers: z.array(TransferItemSchema).min(1, 'At least one transfer item is required'), }); export const WarrantyInfoSchema = z.object({ model_no: z.string().optional(), serial_no: z.string().optional(), warranty_type: z.string().optional(), notes: z.string().optional(), }); export const UsageItemSchema = z.object({ inv_mast_uid: z.coerce.number(), inv_profile_line_type: InvProfileLineTypeSchema, qty_used: z.coerce.number(), warranty: WarrantyInfoSchema.optional(), }); export const UsageRequestSchema = z.object({ job_description: z.string().min(1, 'Job description is required'), department: z.string().optional(), usage_items: z.array(UsageItemSchema).min(1, 'At least one usage item is required'), }); export const InventoryAvailabilityResponseSchema = BaseResponseSchema(z.array(InventoryAvailabilitySchema)); //# sourceMappingURL=inventory.js.map