UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

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