@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
100 lines • 3.31 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCartHdrResource = createCartHdrResource;
exports.createCartHdrDataResource = createCartHdrDataResource;
const schemas_1 = require("../schemas");
/**
* Creates the cartHdr resource methods
* OpenAPI Path: /cart-hdr → cartHdr.*
* @description Cart header management and session tracking functionality
*/
function createCartHdrResource(executeRequest) {
return {
/**
* List Operations
*/
list: {
/**
* Retrieve a list of cart headers for a specific user
* @fullPath api.commerce.cartHdr.list.get
* @service commerce
* @domain cart-management
* @dataMethod cartHdrData.list.get
* @discoverable true
*/
get: async (params) => {
return executeRequest({
method: 'GET',
path: '/cart-hdr/list',
responseSchema: schemas_1.CartHdrListResponseSchema,
}, params);
},
},
/**
* Lookup Operations
*/
lookup: {
/**
* Lookup an existing cart or create a new one
* @fullPath api.commerce.cartHdr.lookup.get
* @service commerce
* @domain cart-management
* @dataMethod cartHdrData.lookup.get
* @discoverable true
*/
get: async (params) => {
return executeRequest({
method: 'GET',
path: '/cart-hdr/lookup',
responseSchema: schemas_1.CartHdrLookupResponseSchema,
}, params);
},
},
/**
* Also Bought Operations
*/
alsoBought: {
/**
* Get product recommendations based on cart contents
* @fullPath api.commerce.cartHdr.alsoBought.get
* @service commerce
* @domain recommendation-engine
* @dataMethod cartHdrData.alsoBought.get
* @discoverable true
*/
get: async (cartHdrUid, params) => {
return executeRequest({
method: 'GET',
path: '/cart-hdr/{cartHdrUid}/also-bought',
responseSchema: schemas_1.AlsoBoughtResponseSchema,
}, params, { cartHdrUid: String(cartHdrUid) });
},
},
};
}
/**
* Creates the cartHdrData resource methods (data-only versions)
*/
function createCartHdrDataResource(cartHdr) {
return {
list: {
get: async (params) => {
const response = await cartHdr.list.get(params);
return response.data;
},
},
lookup: {
get: async (params) => {
const response = await cartHdr.lookup.get(params);
return response.data;
},
},
alsoBought: {
get: async (cartHdrUid, params) => {
const response = await cartHdr.alsoBought.get(cartHdrUid, params);
return response.data;
},
},
};
}
//# sourceMappingURL=cart-hdr.js.map