UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

123 lines 7.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PurchaseOrderScanResponseSchema = exports.PurchaseOrderDocumentResponseSchema = exports.PurchaseOrderDetailResponseSchema = exports.PurchaseOrderListResponseSchema = exports.PurchaseOrderScanResultSchema = exports.PurchaseOrderScanParamsSchema = exports.PurchaseOrderListParamsSchema = exports.PurchaseOrderDocumentSchema = exports.PurchaseOrderDetailSchema = exports.PurchaseOrderHeaderSchema = exports.PurchaseOrderLineSchema = void 0; const zod_1 = require("zod"); const schemas_1 = require("../../../core/schemas"); // Purchase Order Line Schema exports.PurchaseOrderLineSchema = zod_1.z.object({ lineNo: zod_1.z.number(), invMastUid: zod_1.z.number(), itemId: zod_1.z.string(), description: zod_1.z.string().optional(), // API uses itemDesc instead itemDesc: zod_1.z.string().optional(), // Actual field name from API qtyOrdered: zod_1.z.number(), qtyReceived: zod_1.z.number(), qtyOutstanding: zod_1.z.number().optional(), // Additional field from API unitCost: zod_1.z.number().optional(), // May not always be present in list responses extendedCost: zod_1.z.number().optional(), // May not always be present in list responses unitOfMeasure: zod_1.z.string().optional(), // May not always be present in list responses serialized: zod_1.z.string().optional(), // Additional field from API trackBins: zod_1.z.string().optional(), // Additional field from API primaryBin: zod_1.z.string().optional(), // Additional field from API lotAssignmentRequired: zod_1.z.string().optional(), // Additional field from API }); // Purchase Order Header Schema exports.PurchaseOrderHeaderSchema = zod_1.z.object({ poHdrUid: zod_1.z.number().optional(), poNo: zod_1.z.number(), vendorId: zod_1.z.number(), // API returns number, not string vendorName: zod_1.z.string().nullable(), // Can be empty string or null supplierId: zod_1.z.number().optional(), // Additional field from API supplierName: zod_1.z.string().nullable().optional(), // Can be empty string or null divisionId: zod_1.z.number().optional(), // Additional field from API orderDate: zod_1.z.unknown().optional(), // API returns complex date object, not simple string poDate: zod_1.z.string().optional(), // Keep for backward compatibility complete: zod_1.z.string(), totalAmount: zod_1.z.number().optional(), // Not always present in list responses locationId: zod_1.z.coerce.number().optional(), companyNo: zod_1.z.string().optional(), // Additional field from API ship2Name: zod_1.z.string().nullable().optional(), // Can be null packingSlipNumber: zod_1.z.unknown().nullable().optional(), // Can be null ship2Add1: zod_1.z.string().nullable().optional(), // Can be null ship2Add2: zod_1.z.string().nullable().optional(), // Can be null expedite: zod_1.z.string().optional(), ackFlag: zod_1.z.string().optional(), lines: zod_1.z.array(zod_1.z.unknown()).optional(), // Lines can be present in list responses }); // Purchase Order Detail Schema exports.PurchaseOrderDetailSchema = zod_1.z.object({ poNo: zod_1.z.number(), vendorId: zod_1.z.number(), // API returns number, not string vendorName: zod_1.z.string().nullable(), // Can be empty string or null poDate: zod_1.z.string().optional(), // May not always be present orderDate: zod_1.z.unknown().optional(), // API uses orderDate with complex structure complete: zod_1.z.string(), totalAmount: zod_1.z.number().optional(), // May not always be present currencyId: zod_1.z.string().optional(), exchangeRate: zod_1.z.number().optional(), approved: zod_1.z.string().optional(), expedite: zod_1.z.string().optional(), ackFlag: zod_1.z.string().optional(), requestedDate: zod_1.z.string().optional(), lines: zod_1.z.array(exports.PurchaseOrderLineSchema), }); // Purchase Order Document Schema (includes vendor address, receipts, invoices) exports.PurchaseOrderDocumentSchema = zod_1.z.object({ poNo: zod_1.z.number(), vendorId: zod_1.z.number(), // API returns number, not string vendorName: zod_1.z.string().nullable(), // Can be empty string or null vendorAddress: zod_1.z .object({ address1: zod_1.z.string().optional(), city: zod_1.z.string().optional(), state: zod_1.z.string().optional(), zip: zod_1.z.string().optional(), }) .optional(), poDate: zod_1.z.string().optional(), // May not always be present orderDate: zod_1.z.unknown().optional(), // API uses orderDate with complex structure totalAmount: zod_1.z.number().optional(), // May not always be present terms: zod_1.z.string().optional(), fobPoint: zod_1.z.string().optional(), lines: zod_1.z.array(exports.PurchaseOrderLineSchema), receipts: zod_1.z.array(zod_1.z.unknown()).optional(), invoices: zod_1.z.array(zod_1.z.unknown()).optional(), }); // Purchase Order List Parameters Schema exports.PurchaseOrderListParamsSchema = schemas_1.BaseGetParamsSchema.extend({ complete: zod_1.z.string().optional(), orderBy: zod_1.z.string().optional(), q: zod_1.z.string().optional(), locationId: zod_1.z.coerce.number().optional(), }).merge(schemas_1.EdgeCacheParamsSchema); // Purchase Order Scan Parameters Schema exports.PurchaseOrderScanParamsSchema = zod_1.z.object({ vendorId: zod_1.z.coerce.number().optional(), // API expects number, not string locationId: zod_1.z.coerce.number().optional(), dateRange: zod_1.z .object({ startDate: zod_1.z.string().optional(), endDate: zod_1.z.string().optional(), }) .optional(), itemIds: zod_1.z.array(zod_1.z.string()).optional(), minAmount: zod_1.z.coerce.number().optional(), maxAmount: zod_1.z.coerce.number().optional(), complete: zod_1.z.string().optional(), }); // Purchase Order Scan Result Schema exports.PurchaseOrderScanResultSchema = zod_1.z.object({ poNo: zod_1.z.number(), vendorId: zod_1.z.number(), // API returns number, not string poDate: zod_1.z.string().optional(), // May use orderDate instead orderDate: zod_1.z.unknown().optional(), // API uses orderDate with complex structure totalAmount: zod_1.z.number().optional(), // May not always be present similarity: zod_1.z.number(), matchedCriteria: zod_1.z.array(zod_1.z.string()), }); // Response Schemas exports.PurchaseOrderListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.PurchaseOrderHeaderSchema)); exports.PurchaseOrderDetailResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.PurchaseOrderDetailSchema); exports.PurchaseOrderDocumentResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.PurchaseOrderDocumentSchema); exports.PurchaseOrderScanResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.PurchaseOrderScanResultSchema)); //# sourceMappingURL=purchase-orders.js.map