UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

116 lines 5.45 kB
"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