UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

82 lines 3.49 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; import { mysqlDatetimeSchema } from '../../../core/schema-utils'; // Bin Schema based on Bin.json export const BinSchema = z.object({ binUid: z.coerce.number(), locationId: z.coerce.number(), bin: z.string().max(50), binDesc: z.string().max(255).optional(), binType: z.string().max(50).optional(), isActive: z.string().max(1).optional(), maxCapacity: z.coerce.number().optional(), currentCapacity: z.coerce.number().optional(), zone: z.string().max(50).optional(), aisle: z.string().max(20).optional(), shelf: z.string().max(20).optional(), position: z.string().max(20).optional(), dateCreated: mysqlDatetimeSchema().optional(), dateLastModified: mysqlDatetimeSchema().optional(), createdBy: z.string().max(255).optional(), lastMaintainedBy: z.string().max(255).optional(), }); // Inventory Location Bin Schema based on InvLocBin.json export const InventoryLocationBinSchema = z.object({ invLocBinUid: z.coerce.number(), invMastUid: z.coerce.number(), locationId: z.coerce.number(), binUid: z.coerce.number(), itemId: z.string().max(40), bin: z.string().max(50), qtyOnHand: z.coerce.number(), qtyAllocated: z.coerce.number().optional(), qtyAvailable: z.coerce.number().optional(), unitCost: z.number().optional(), lastCountDate: mysqlDatetimeSchema().optional(), lastMovementDate: mysqlDatetimeSchema().optional(), dateCreated: mysqlDatetimeSchema().optional(), dateLastModified: mysqlDatetimeSchema().optional(), }); // Create Bin Request Schema export const CreateBinRequestSchema = z.object({ bin: z.string().max(50), binDesc: z.string().max(255).optional(), binType: z.string().max(50).optional(), isActive: z.string().max(1).optional(), maxCapacity: z.coerce.number().optional(), zone: z.string().max(50).optional(), aisle: z.string().max(20).optional(), shelf: z.string().max(20).optional(), position: z.string().max(20).optional(), }); // Update Bin Request Schema export const UpdateBinRequestSchema = z.object({ binDesc: z.string().max(255).optional(), binType: z.string().max(50).optional(), isActive: z.string().max(1).optional(), maxCapacity: z.coerce.number().optional(), zone: z.string().max(50).optional(), aisle: z.string().max(20).optional(), shelf: z.string().max(20).optional(), position: z.string().max(20).optional(), }); // Bin List Parameters Schema export const BinListParamsSchema = BaseGetParamsSchema.extend({ binType: z.string().optional(), isActive: z.string().optional(), zone: z.string().optional(), q: z.string().optional(), // search in bin names orderBy: z.string().optional(), }); // Inventory Location Bin List Parameters Schema export const InventoryLocationBinListParamsSchema = BaseGetParamsSchema.extend({ invMastUid: z.coerce.number().optional(), hasStock: z.boolean().optional(), orderBy: z.string().optional(), }); // Response Schemas export const BinResponseSchema = BaseResponseSchema(BinSchema); export const BinListResponseSchema = BaseResponseSchema(z.array(BinSchema)); export const InventoryLocationBinResponseSchema = BaseResponseSchema(InventoryLocationBinSchema); export const InventoryLocationBinListResponseSchema = BaseResponseSchema(z.array(InventoryLocationBinSchema)); //# sourceMappingURL=bins.js.map