@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
268 lines • 12.7 kB
JavaScript
"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