UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

268 lines 12.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CheckoutProphet21LineResponseSchema = exports.CheckoutProphet21LineItemSchema = exports.CheckoutProphet21LineAddRequestSchema = exports.CheckoutProphet21HdrResponseSchema = exports.CheckoutProphet21HdrDataSchema = exports.CheckoutProphet21HdrCreateRequestSchema = exports.CheckoutDocResponseSchema = exports.CheckoutDocDataSchema = exports.CheckoutActivateResponseSchema = exports.CheckoutActivateDataSchema = exports.CheckoutValidateResponseSchema = exports.CheckoutValidateDataSchema = exports.CheckoutDocParamsSchema = exports.CheckoutGetResponseSchema = exports.CheckoutCreateResponseSchema = exports.CheckoutCreateDataSchema = exports.CheckoutSchema = exports.CheckoutCreateParamsSchema = exports.CheckoutCreateRequestSchema = exports.CheckoutLineItemSchema = exports.CheckoutShippingSchema = exports.CheckoutPaymentSchema = exports.WebInfoSchema = exports.NotesSchema = exports.PaymentSchema = exports.OrderLineSchema = exports.CheckoutCustomerSchema = exports.OrderHeaderSchema = void 0; const zod_1 = require("zod"); const schemas_1 = require("../../../core/schemas"); // Checkout schemas - per Checkout.json specification with multiple field name support // Order header schema with alternative field names exports.OrderHeaderSchema = zod_1.z.object({ customerId: zod_1.z.number().optional(), customer_id: zod_1.z.number().optional(), shipToZipCode: zod_1.z.string().optional(), ship_to_zip: zod_1.z.string().optional(), ship_to_postal_code: zod_1.z.string().optional(), shipToEmailAddress: zod_1.z.string().optional(), ship_to_email: zod_1.z.string().optional(), customerPoNo: zod_1.z.string().optional(), customer_po_no: zod_1.z.string().optional(), customer_po_number: zod_1.z.string().optional(), class1: zod_1.z.string().nullable().optional(), class_id1: zod_1.z.string().nullable().optional(), class2: zod_1.z.string().nullable().optional(), class_id2: zod_1.z.string().nullable().optional(), class3: zod_1.z.string().nullable().optional(), class_id3: zod_1.z.string().nullable().optional(), class4: zod_1.z.string().nullable().optional(), class_id4: zod_1.z.string().nullable().optional(), class5: zod_1.z.string().nullable().optional(), class_id5: zod_1.z.string().nullable().optional(), taker: zod_1.z.string().optional(), shippingEstimate: zod_1.z.number().optional(), shipping_estimate: zod_1.z.number().optional(), cartTax: zod_1.z .object({ taxAmount: zod_1.z.number().optional(), tax_amount: zod_1.z.number().optional(), }) .optional(), cart_tax: zod_1.z .object({ taxAmount: zod_1.z.number().optional(), tax_amount: zod_1.z.number().optional(), }) .optional(), userEmail: zod_1.z.string().optional(), user_email: zod_1.z.string().optional(), userId: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), user_id: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), }); // Legacy checkout customer schema for backward compatibility exports.CheckoutCustomerSchema = zod_1.z.object({ customerId: zod_1.z.number(), contactId: zod_1.z.number(), billToName: zod_1.z.string(), billToAddress1: zod_1.z.string(), billToCity: zod_1.z.string(), billToState: zod_1.z.string(), billToZip: zod_1.z.string(), billToCountry: zod_1.z.string(), shipToName: zod_1.z.string(), shipToAddress1: zod_1.z.string(), shipToCity: zod_1.z.string(), shipToState: zod_1.z.string(), shipToZip: zod_1.z.string(), shipToCountry: zod_1.z.string(), }); // Order line schema with alternative field names exports.OrderLineSchema = zod_1.z.object({ lineNo: zod_1.z.number().optional(), itemId: zod_1.z.string().optional(), unitQuantity: zod_1.z.number().optional(), unit_quantity: zod_1.z.number().optional(), qty: zod_1.z.number().optional(), unitPrice: zod_1.z.number().optional(), unit_price: zod_1.z.number().optional(), unitOfMeasure: zod_1.z.string().optional(), unit_of_measure: zod_1.z.string().optional(), uom: zod_1.z.string().optional(), manualPriceOverride: zod_1.z.enum(['Y', 'N']).optional(), manual_price_override: zod_1.z.enum(['Y', 'N']).optional(), willCall: zod_1.z.enum(['Y', 'N']).optional(), will_call: zod_1.z.enum(['Y', 'N']).optional(), invMastUid: zod_1.z.number().optional(), lineNote: zod_1.z.string().optional(), line_note: zod_1.z.string().optional(), note: zod_1.z.string().optional(), }); // Payment schema with alternative field names exports.PaymentSchema = zod_1.z.object({ paymentAccountId: zod_1.z.string().optional(), payment_account_id: zod_1.z.string().optional(), PaymentAccountID: zod_1.z.string().optional(), processor: zod_1.z.string().optional(), lastFour: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), last_four: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), LastFour: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), paymentBrand: zod_1.z.string().optional(), payment_brand: zod_1.z.string().optional(), PaymentBrand: zod_1.z.string().optional(), expirationMonth: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), expiration_month: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), ExpirationMonth: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), expirationYear: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), expiration_year: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), ExpirationYear: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), firstName: zod_1.z.string().optional(), first_name: zod_1.z.string().optional(), lastName: zod_1.z.string().optional(), last_name: zod_1.z.string().optional(), streetAddress1: zod_1.z.string().optional(), street_address1: zod_1.z.string().optional(), streetAddress2: zod_1.z.string().optional(), street_address2: zod_1.z.string().optional(), city: zod_1.z.string().optional(), state: zod_1.z.string().optional(), zipCode: zod_1.z.string().optional(), zip_code: zod_1.z.string().optional(), country: zod_1.z.string().optional(), }); // Notes schema exports.NotesSchema = zod_1.z.object({ note: zod_1.z.string().optional(), topic: zod_1.z.string().optional(), }); // Web information schema exports.WebInfoSchema = zod_1.z.object({ webShopperEmail: zod_1.z.string().optional(), webShopperId: zod_1.z.number().optional(), }); // Legacy payment schema for backward compatibility exports.CheckoutPaymentSchema = zod_1.z.object({ paymentType: zod_1.z.string(), cardNumber: zod_1.z.string(), expirationDate: zod_1.z.string(), cvv: zod_1.z.string(), cardHolderName: zod_1.z.string(), }); exports.CheckoutShippingSchema = zod_1.z.object({ shippingMethod: zod_1.z.string(), shippingInstructions: zod_1.z.string().optional(), }); exports.CheckoutLineItemSchema = zod_1.z.object({ invMastUid: zod_1.z.number(), quantity: zod_1.z.number(), unitOfMeasure: zod_1.z.string(), unitPrice: zod_1.z.number(), }); // Comprehensive checkout create request schema per Checkout.json exports.CheckoutCreateRequestSchema = zod_1.z .object({ oeHdr: exports.OrderHeaderSchema.optional(), oe_hdr: exports.OrderHeaderSchema.optional(), header: exports.OrderHeaderSchema.optional(), oeLine: zod_1.z.array(exports.OrderLineSchema).optional(), oe_line: zod_1.z.array(exports.OrderLineSchema).optional(), lines: zod_1.z.array(exports.OrderLineSchema).optional(), notes: exports.NotesSchema.optional(), payments: exports.PaymentSchema.optional(), web: exports.WebInfoSchema.optional(), // Legacy fields for backward compatibility customer: exports.CheckoutCustomerSchema.optional(), payment: exports.CheckoutPaymentSchema.optional(), shipping: exports.CheckoutShippingSchema.optional(), lineItems: zod_1.z.array(exports.CheckoutLineItemSchema).optional(), }) .refine(data => { // At least one header format must be provided return !!(data.oeHdr || data.oe_hdr || data.header || data.customer); }, { message: 'At least one header format (oeHdr, oe_hdr, header, or customer) must be provided', }); exports.CheckoutCreateParamsSchema = zod_1.z.object({ cartHdrUid: zod_1.z.coerce.number().optional(), }); exports.CheckoutSchema = zod_1.z.object({ checkoutUid: zod_1.z.number(), checkoutUuid: zod_1.z.string(), statusCd: zod_1.z.number(), checkoutType: zod_1.z.string().optional(), dateCreated: zod_1.z.string(), dateLastModified: zod_1.z.string(), properties: zod_1.z.string().optional(), checkoutProcessor: zod_1.z.string().optional(), jsonData: zod_1.z.string().optional(), sourceName: zod_1.z.string().optional(), sourceId: zod_1.z.string().optional(), cartHdrUid: zod_1.z.number(), body: zod_1.z.unknown().optional(), // For create response }); // Checkout create response data schema per Checkout.json exports.CheckoutCreateDataSchema = zod_1.z.object({ checkoutUid: zod_1.z.number(), checkoutUuid: zod_1.z.string(), statusCd: zod_1.z.number().default(704), body: zod_1.z.union([zod_1.z.record(zod_1.z.unknown()), zod_1.z.string()]), }); exports.CheckoutCreateResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.CheckoutCreateDataSchema); exports.CheckoutGetResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.CheckoutSchema); exports.CheckoutDocParamsSchema = schemas_1.BaseGetParamsSchema.extend({ cartHdrUid: zod_1.z.coerce.number().optional(), }); exports.CheckoutValidateDataSchema = zod_1.z.object({ checkoutUid: zod_1.z.number(), checkoutUuid: zod_1.z.string(), statusCd: zod_1.z.number(), validationResults: zod_1.z .object({ isValid: zod_1.z.boolean(), errors: zod_1.z.array(zod_1.z.string()), warnings: zod_1.z.array(zod_1.z.string()), }) .optional(), }); exports.CheckoutValidateResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.CheckoutValidateDataSchema); // Checkout activate response schema per Checkout.json exports.CheckoutActivateDataSchema = zod_1.z.object({ checkoutUid: zod_1.z.number(), checkoutUuid: zod_1.z.string().max(255), statusCd: zod_1.z.number(), }); exports.CheckoutActivateResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.CheckoutActivateDataSchema); // The CheckoutValidateDataSchema and CheckoutValidateResponseSchema are already defined above // Checkout document response schema per Checkout.json exports.CheckoutDocDataSchema = zod_1.z.object({ checkoutUid: zod_1.z.number(), checkoutUuid: zod_1.z.string().max(255), statusCd: zod_1.z.number(), checkoutType: zod_1.z.string().max(255).nullable().optional(), dateCreated: zod_1.z.string(), dateLastModified: zod_1.z.string(), properties: zod_1.z.object({}).nullable().optional(), checkoutProcessor: zod_1.z.string().max(255).nullable().optional(), jsonData: zod_1.z.string().max(16777215).nullable().optional(), sourceName: zod_1.z.string().max(255).nullable().optional(), sourceId: zod_1.z.string().max(255).nullable().optional(), cartHdrUid: zod_1.z.number(), }); exports.CheckoutDocResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.CheckoutDocDataSchema); // Prophet21 schemas per CheckoutProphet21Hdr.json and CheckoutProphet21Line.json exports.CheckoutProphet21HdrCreateRequestSchema = zod_1.z .object({ checkoutUid: zod_1.z.coerce.number().min(1).optional(), }) .passthrough(); exports.CheckoutProphet21HdrDataSchema = zod_1.z .object({ checkoutUid: zod_1.z.number().min(1), }) .passthrough(); exports.CheckoutProphet21HdrResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.CheckoutProphet21HdrDataSchema); // Prophet21 line schema exports.CheckoutProphet21LineAddRequestSchema = zod_1.z .array(zod_1.z.object({ itemId: zod_1.z.string(), invMastUid: zod_1.z.number(), quantity: zod_1.z.number(), unitOfMeasure: zod_1.z.string(), })) .min(1); exports.CheckoutProphet21LineItemSchema = zod_1.z .object({ lineNo: zod_1.z.number(), itemId: zod_1.z.string(), unitQuantity: zod_1.z.number(), unitOfMeasure: zod_1.z.string(), }) .passthrough(); exports.CheckoutProphet21LineResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.CheckoutProphet21LineItemSchema)); //# sourceMappingURL=checkout.js.map