@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
79 lines • 3.88 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CartLineDeleteResponseSchema = exports.CartLineModifyResponseSchema = exports.CartLineListResponseSchema = exports.CartLineUpdateRequestSchema = exports.CartLineAddRequestSchema = exports.CartLineSchema = exports.CartHdrLookupResponseSchema = exports.CartHdrListResponseSchema = exports.CartHdrLookupParamsSchema = exports.CartHdrListParamsSchema = exports.CartHdrSchema = void 0;
const zod_1 = require("zod");
const schemas_1 = require("../../../core/schemas");
// Cart Header schemas - per CartHdr.json schema specification
exports.CartHdrSchema = zod_1.z.object({
cartHdrUid: zod_1.z.number(),
customerId: zod_1.z.number(),
contactId: zod_1.z.number(),
userId: zod_1.z.number(),
sessionId: zod_1.z.string().optional(),
emailAddress: zod_1.z.string().optional(),
dateCreated: zod_1.z.string().optional(),
dateLastModified: zod_1.z.string().optional(),
cartToken: zod_1.z.string().nullable().optional(),
userCartNo: zod_1.z.number(),
version: zod_1.z.number().optional(),
statusCd: zod_1.z.number().optional(),
processCd: zod_1.z.number().optional(),
});
exports.CartHdrListParamsSchema = schemas_1.BaseGetParamsSchema.extend({
userId: zod_1.z.coerce.number(),
});
exports.CartHdrLookupParamsSchema = schemas_1.BaseGetParamsSchema.extend({
userId: zod_1.z.coerce.number(),
customerId: zod_1.z.coerce.number(),
contactId: zod_1.z.coerce.number(),
cartToken: zod_1.z.string().optional(),
});
exports.CartHdrListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.CartHdrSchema));
exports.CartHdrLookupResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.CartHdrSchema);
// Cart Line schemas - per CartLine.json schema specification
exports.CartLineSchema = zod_1.z.object({
cartHdrUid: zod_1.z.number().optional(),
lineNo: zod_1.z.number().min(0),
dateCreated: zod_1.z.string().optional(),
dateLastModified: zod_1.z.string().optional(),
invMastUid: zod_1.z.number().min(1),
quantity: zod_1.z.number().min(0).nullable().optional(),
unitOfMeasure: zod_1.z.string().max(8).nullable().optional(),
lineNote: zod_1.z.string().max(255).nullable().optional(),
key: zod_1.z.string().max(255).nullable().optional(),
unitPrice: zod_1.z.number().min(0).nullable().optional(),
itemId: zod_1.z.string().max(40),
isAssembly: zod_1.z.enum(['Y', 'N']),
invMastUidCount: zod_1.z.number(),
});
exports.CartLineAddRequestSchema = zod_1.z
.array(zod_1.z.object({
invMastUid: zod_1.z.number().min(1),
quantity: zod_1.z.number().min(0),
unitOfMeasure: zod_1.z.string().min(1).max(8),
lineNote: zod_1.z.string().max(255).optional(),
unitPrice: zod_1.z.number().min(0).optional(),
lineNo: zod_1.z.number().min(0).optional(),
key: zod_1.z.string().max(255).optional(),
}))
.min(1);
exports.CartLineUpdateRequestSchema = zod_1.z
.array(zod_1.z.object({
lineNo: zod_1.z.number().min(0).optional(),
invMastUid: zod_1.z.number().min(1).optional(),
quantity: zod_1.z.number().min(0).optional(),
unitOfMeasure: zod_1.z.string().min(1).max(8).optional(),
lineNote: zod_1.z.string().max(255).optional(),
unitPrice: zod_1.z.number().min(0).optional(),
key: zod_1.z.string().max(255).optional(),
}))
.min(1);
exports.CartLineListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.CartLineSchema));
// Response schemas for different cart line operations
exports.CartLineModifyResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.boolean());
// Specific response schema for delete line operation
exports.CartLineDeleteResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.object({
success: zod_1.z.boolean(),
message: zod_1.z.string(),
}));
//# sourceMappingURL=cart.js.map