@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
85 lines • 4.41 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InventoryLocationBinListResponseSchema = exports.InventoryLocationBinResponseSchema = exports.BinListResponseSchema = exports.BinResponseSchema = exports.InventoryLocationBinListParamsSchema = exports.BinListParamsSchema = exports.UpdateBinRequestSchema = exports.CreateBinRequestSchema = exports.InventoryLocationBinSchema = exports.BinSchema = void 0;
const zod_1 = require("zod");
const schemas_1 = require("../../../core/schemas");
const schema_utils_1 = require("../../../core/schema-utils");
// Bin Schema based on Bin.json
exports.BinSchema = zod_1.z.object({
binUid: zod_1.z.coerce.number(),
locationId: zod_1.z.coerce.number(),
bin: zod_1.z.string().max(50),
binDesc: zod_1.z.string().max(255).optional(),
binType: zod_1.z.string().max(50).optional(),
isActive: zod_1.z.string().max(1).optional(),
maxCapacity: zod_1.z.coerce.number().optional(),
currentCapacity: zod_1.z.coerce.number().optional(),
zone: zod_1.z.string().max(50).optional(),
aisle: zod_1.z.string().max(20).optional(),
shelf: zod_1.z.string().max(20).optional(),
position: zod_1.z.string().max(20).optional(),
dateCreated: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
dateLastModified: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
createdBy: zod_1.z.string().max(255).optional(),
lastMaintainedBy: zod_1.z.string().max(255).optional(),
});
// Inventory Location Bin Schema based on InvLocBin.json
exports.InventoryLocationBinSchema = zod_1.z.object({
invLocBinUid: zod_1.z.coerce.number(),
invMastUid: zod_1.z.coerce.number(),
locationId: zod_1.z.coerce.number(),
binUid: zod_1.z.coerce.number(),
itemId: zod_1.z.string().max(40),
bin: zod_1.z.string().max(50),
qtyOnHand: zod_1.z.coerce.number(),
qtyAllocated: zod_1.z.coerce.number().optional(),
qtyAvailable: zod_1.z.coerce.number().optional(),
unitCost: zod_1.z.number().optional(),
lastCountDate: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
lastMovementDate: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
dateCreated: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
dateLastModified: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
});
// Create Bin Request Schema
exports.CreateBinRequestSchema = zod_1.z.object({
bin: zod_1.z.string().max(50),
binDesc: zod_1.z.string().max(255).optional(),
binType: zod_1.z.string().max(50).optional(),
isActive: zod_1.z.string().max(1).optional(),
maxCapacity: zod_1.z.coerce.number().optional(),
zone: zod_1.z.string().max(50).optional(),
aisle: zod_1.z.string().max(20).optional(),
shelf: zod_1.z.string().max(20).optional(),
position: zod_1.z.string().max(20).optional(),
});
// Update Bin Request Schema
exports.UpdateBinRequestSchema = zod_1.z.object({
binDesc: zod_1.z.string().max(255).optional(),
binType: zod_1.z.string().max(50).optional(),
isActive: zod_1.z.string().max(1).optional(),
maxCapacity: zod_1.z.coerce.number().optional(),
zone: zod_1.z.string().max(50).optional(),
aisle: zod_1.z.string().max(20).optional(),
shelf: zod_1.z.string().max(20).optional(),
position: zod_1.z.string().max(20).optional(),
});
// Bin List Parameters Schema
exports.BinListParamsSchema = schemas_1.BaseGetParamsSchema.extend({
binType: zod_1.z.string().optional(),
isActive: zod_1.z.string().optional(),
zone: zod_1.z.string().optional(),
q: zod_1.z.string().optional(), // search in bin names
orderBy: zod_1.z.string().optional(),
});
// Inventory Location Bin List Parameters Schema
exports.InventoryLocationBinListParamsSchema = schemas_1.BaseGetParamsSchema.extend({
invMastUid: zod_1.z.coerce.number().optional(),
hasStock: zod_1.z.boolean().optional(),
orderBy: zod_1.z.string().optional(),
});
// Response Schemas
exports.BinResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.BinSchema);
exports.BinListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.BinSchema));
exports.InventoryLocationBinResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.InventoryLocationBinSchema);
exports.InventoryLocationBinListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.InventoryLocationBinSchema));
//# sourceMappingURL=bins.js.map