UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

116 lines 6.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OrderHeaderListResponseSchema = exports.OrderSummarySchema = exports.OrderDocumentListResponseSchema = exports.OrderDocumentResponseSchema = exports.OrderListParamsSchema = exports.OrderDocumentSchema = exports.PickTicketSchema = exports.PickTicketLineItemSchema = exports.OrderLineItemSchema = void 0; const zod_1 = require("zod"); const schemas_1 = require("../../../core/schemas"); // Order Line Item Schema - based on Orders.json schema exports.OrderLineItemSchema = zod_1.z.object({ invMastUid: zod_1.z.number(), cancelFlag: zod_1.z.string().nullable().optional(), complete: zod_1.z.string().nullable().optional(), deleteFlag: zod_1.z.string().nullable().optional(), disposition: zod_1.z.string().nullable().optional(), itemDesc: zod_1.z.string().nullable().optional(), displayDesc: zod_1.z.unknown().optional(), // Can be various types according to schema itemId: zod_1.z.string(), lineNo: zod_1.z.number(), orderNo: zod_1.z.string(), originalQtyOrdered: zod_1.z.number().nullable().optional(), qtyAllocated: zod_1.z.number().nullable().optional(), qtyCanceled: zod_1.z.number().nullable().optional(), qtyInvoiced: zod_1.z.number().nullable().optional(), qtyOnPickTickets: zod_1.z.number().nullable().optional(), qtyOrdered: zod_1.z.number().nullable().optional(), unitOfMeasure: zod_1.z.string().nullable().optional(), unitQuantity: zod_1.z.number().nullable().optional(), unitSize: zod_1.z.coerce.number().nullable().optional(), // Exception: Orders.json schema incorrectly defines this as string, but it's a float/double in SQL unitPrice: zod_1.z.number().nullable().optional(), extendedPrice: zod_1.z.number().nullable().optional(), trinityItemId: zod_1.z.string().optional(), trinityItemDesc: zod_1.z.string().optional(), agentItemId: zod_1.z.string().optional(), agentItemDesc: zod_1.z.string().optional(), }); // Pick Ticket Line Item Schema exports.PickTicketLineItemSchema = zod_1.z.object({ lineNumber: zod_1.z.number(), shipQuantity: zod_1.z.number().nullable().optional(), qtyRequested: zod_1.z.number().nullable().optional(), invMastUid: zod_1.z.number(), itemId: zod_1.z.string(), itemDesc: zod_1.z.string().nullable().optional(), displayDesc: zod_1.z.unknown().optional(), // Can be various types according to schema trinityItemId: zod_1.z.string().optional(), trinityItemDesc: zod_1.z.string().optional(), agentItemId: zod_1.z.string().optional(), agentItemDesc: zod_1.z.string().optional(), }); // Pick Ticket Schema exports.PickTicketSchema = zod_1.z.object({ pickTicketNo: zod_1.z.coerce.number(), // Exception: Orders.json schema incorrectly defines this as string, but it's a DECIMAL/float in SQL trackingNo: zod_1.z.string().nullable().optional(), orderNo: zod_1.z.string(), invoiceNo: zod_1.z.coerce.string().nullable().optional(), shipDate: zod_1.z.string().nullable().optional(), printedFlag: zod_1.z.string().nullable().optional(), printDate: zod_1.z.string().nullable().optional(), instructions: zod_1.z.string().nullable().optional(), carrierId: zod_1.z.number().nullable().optional(), carrierName: zod_1.z.string(), lines: zod_1.z.array(exports.PickTicketLineItemSchema), }); // Order Document Schema - comprehensive order structure exports.OrderDocumentSchema = zod_1.z.object({ orderNo: zod_1.z.string(), customerId: zod_1.z.number(), customerName: zod_1.z.string(), jobName: zod_1.z.string().nullable().optional(), orderDate: zod_1.z.string().nullable().optional(), requestedDate: zod_1.z.string().nullable().optional(), completed: zod_1.z.string().nullable().optional(), poNo: zod_1.z.string().nullable().optional(), ship2Name: zod_1.z.string().nullable().optional(), ship2Add1: zod_1.z.string().nullable().optional(), ship2Add2: zod_1.z.string().nullable().optional(), ship2Add3: zod_1.z.string().nullable().optional(), ship2City: zod_1.z.string().nullable().optional(), ship2State: zod_1.z.string().nullable().optional(), ship2Zip: zod_1.z.string().nullable().optional(), ship2Country: zod_1.z.string().nullable().optional(), ship2EmailAddress: zod_1.z.string().nullable().optional(), shipToPhone: zod_1.z.string().nullable().optional(), deliveryInstructions: zod_1.z.string().nullable().optional(), class1Id: zod_1.z.string().nullable().optional(), class2Id: zod_1.z.string().nullable().optional(), class3Id: zod_1.z.string().nullable().optional(), class4Id: zod_1.z.string().nullable().optional(), class5Id: zod_1.z.string().nullable().optional(), contactId: zod_1.z.string().nullable().optional(), webReferenceNo: zod_1.z.string().nullable().optional(), orderStatus: zod_1.z.string(), // calculated field taker: zod_1.z.string().nullable().optional(), contactFirstName: zod_1.z.string().nullable().optional(), contactLastName: zod_1.z.string().nullable().optional(), carrierId: zod_1.z.number().nullable().optional(), carrierName: zod_1.z.string(), lines: zod_1.z.array(exports.OrderLineItemSchema), pickTickets: zod_1.z.array(exports.PickTicketSchema), }); // Order List Parameters Schema // Note: HTTP query parameters are always strings, so we use coercion for numbers exports.OrderListParamsSchema = schemas_1.BaseGetParamsSchema.extend({ addressId: zod_1.z.coerce.number().optional(), orderBy: zod_1.z.string().optional().default('date_created|DESC'), q: zod_1.z.string().optional(), fullDocument: zod_1.z .union([zod_1.z.literal('Y'), zod_1.z.literal('N')]) .optional() .default('Y'), }); // Response schemas using BaseResponseSchema (8-field format) exports.OrderDocumentResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.OrderDocumentSchema); exports.OrderDocumentListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.OrderDocumentSchema)); // For summary data (when fullDocument = 'N'), using a more flexible schema exports.OrderSummarySchema = zod_1.z.object({}).passthrough(); // Allows any properties for OeHdrDto converted to stdClass exports.OrderHeaderListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.OrderSummarySchema)); //# sourceMappingURL=orders.js.map