@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
116 lines • 5.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BinTransferDeleteResponseSchema = exports.BinTransferUpdateResponseSchema = exports.BinTransferCreateResponseSchema = exports.BinTransferStatusResponseSchema = exports.BinTransferGetResponseSchema = exports.BinTransferListResponseSchema = exports.BinTransferUpdateRequestSchema = exports.BinTransferCreateRequestSchema = exports.BinTransferListParamsSchema = exports.BinTransferStatusSchema = exports.BinTransferSchema = exports.BinTransferLineSchema = exports.BinTransferLineCreateSchema = void 0;
const zod_1 = require("zod");
const schemas_1 = require("../../../core/schemas");
const common_1 = require("./common");
const schema_utils_1 = require("../../../core/schema-utils");
/**
* Schema for bin transfer line items in create requests
* Simplified schema for creating bin transfers
*/
exports.BinTransferLineCreateSchema = zod_1.z.object({
lineNo: zod_1.z.number(),
invMastUid: zod_1.z.number(),
itemId: zod_1.z.string(),
toBin: zod_1.z.string(),
fromBin: zod_1.z.string(),
lot: zod_1.z.string(),
uom: zod_1.z.string(),
moveAvailable: zod_1.z.string().optional().default('N'),
moveAllocations: zod_1.z.string().optional().default('N'),
quantity: zod_1.z.number().optional(),
});
/**
* Schema for bin transfer line items in responses
* IMPORTANT: DateTime format differs from OpenAPI spec
* OpenAPI expects ISO format, API returns "YYYY-MM-DD HH:mm:ss" format
*/
exports.BinTransferLineSchema = zod_1.z.object({
binTransferHdrUid: zod_1.z.number().int(),
lineNo: zod_1.z.number(),
dateCreated: (0, schema_utils_1.mysqlDatetimeSchema)(),
dateLastModified: (0, schema_utils_1.mysqlDatetimeSchema)(),
updateCd: zod_1.z.number().int(),
statusCd: zod_1.z.number().int(),
processCd: zod_1.z.number().int(),
locationId: zod_1.z.number().nullable(),
invMastUid: zod_1.z.number().int(),
itemId: zod_1.z.string().max(40),
toBin: zod_1.z.string().max(10),
fromBin: zod_1.z.string().max(10),
lot: zod_1.z.string().max(40),
uom: zod_1.z.string().max(8),
moveAvailable: zod_1.z.string().max(1),
moveAllocations: zod_1.z.string().max(1),
jsonData: zod_1.z.string().max(16777215).nullable(),
quantity: zod_1.z.number().nullable(),
});
/**
* Schema for bin transfer entity
* Based on OpenAPI spec with proper constraints - all fields are REQUIRED per specification
*/
exports.BinTransferSchema = common_1.BaseNexusEntitySchema.extend({
binTransferHdrUid: zod_1.z.number().int(),
properties: zod_1.z.string().max(16777215).nullable(),
response: zod_1.z.string().max(16777215).nullable(),
usersId: zod_1.z.number().int(),
locationId: zod_1.z.number(),
});
/**
* Schema for bin transfer status with line items
* IMPORTANT: This schema differs from OpenAPI spec due to API inconsistencies:
* 1. OpenAPI spec missing 'lines' property - but API returns it
* 2. OpenAPI expects ISO datetime - but API returns "YYYY-MM-DD HH:mm:ss" format
* 3. OpenAPI defines options/params as objects - but API returns arrays
*/
exports.BinTransferStatusSchema = zod_1.z.object({
binTransferHdrUid: zod_1.z.number().int(),
importState: zod_1.z.string().max(30),
dateCreated: (0, schema_utils_1.mysqlDatetimeSchema)(),
dateLastModified: (0, schema_utils_1.mysqlDatetimeSchema)(),
updateCd: zod_1.z.number().int(),
statusCd: zod_1.z.number().int(),
processCd: zod_1.z.number().int(),
jsonData: zod_1.z.string().max(16777215).nullable(),
properties: zod_1.z.string().max(16777215).nullable(),
requestId: zod_1.z.string().max(255).nullable(),
response: zod_1.z.string().max(16777215).nullable(),
usersId: zod_1.z.number().int(),
locationId: zod_1.z.number(),
lines: zod_1.z.array(exports.BinTransferLineSchema), // MISSING from OpenAPI spec but present in API response
});
/**
* Schema for bin transfer list query parameters
*/
exports.BinTransferListParamsSchema = schemas_1.BaseGetParamsSchema.extend({
statusCd: zod_1.z.coerce.number().int().positive().optional(),
});
/**
* Schema for bin transfer creation request
*/
exports.BinTransferCreateRequestSchema = zod_1.z.object({
usersId: zod_1.z.number(),
locationId: zod_1.z.number(),
requestId: zod_1.z.string().optional(),
transfers: zod_1.z.array(exports.BinTransferLineCreateSchema),
});
/**
* Schema for bin transfer update request
*/
exports.BinTransferUpdateRequestSchema = zod_1.z
.object({
statusCd: zod_1.z.number(),
processCd: zod_1.z.number(),
jsonData: zod_1.z.string(),
properties: zod_1.z.string(),
})
.partial();
// Response schemas - using BaseResponseSchema (now updated to match OpenAPI spec)
exports.BinTransferListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.BinTransferSchema));
exports.BinTransferGetResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.BinTransferSchema);
exports.BinTransferStatusResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.BinTransferStatusSchema);
exports.BinTransferCreateResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.BinTransferSchema);
exports.BinTransferUpdateResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.BinTransferSchema);
exports.BinTransferDeleteResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.BinTransferSchema);
//# sourceMappingURL=bin-transfers.js.map