UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

138 lines 4.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCartLineResource = createCartLineResource; exports.createCartLineDataResource = createCartLineDataResource; const schemas_1 = require("../schemas"); /** * Creates the cartLine resource methods * OpenAPI Path: /cart-line → cartLine.* * @description Cart line management for individual items within shopping carts */ function createCartLineResource(executeRequest) { return { /** * Retrieve all line items for a specific cart * @fullPath api.commerce.cartLine.get * @service commerce * @domain cart-management * @dataMethod cartLineData.get * @discoverable true */ get: async (cartHdrUid) => { return executeRequest({ method: 'GET', path: '/cart-line/{cartHdrUid}', responseSchema: schemas_1.CartLineListResponseSchema, }, undefined, { cartHdrUid: String(cartHdrUid) }); }, /** * Remove all line items from the cart * @fullPath api.commerce.cartLine.delete * @service commerce * @domain cart-management * @dataMethod cartLineData.delete * @discoverable true */ delete: async (cartHdrUid) => { return executeRequest({ method: 'DELETE', path: '/cart-line/{cartHdrUid}', responseSchema: schemas_1.CartLineModifyResponseSchema, }, undefined, { cartHdrUid: String(cartHdrUid) }); }, /** * Add Operations */ add: { /** * Add one or more items to the cart * @fullPath api.commerce.cartLine.add.create * @service commerce * @domain cart-management * @dataMethod cartLineData.add.create * @discoverable true */ create: async (cartHdrUid, items) => { return executeRequest({ method: 'POST', path: '/cart-line/{cartHdrUid}/add', responseSchema: schemas_1.CartLineModifyResponseSchema, }, items, { cartHdrUid: String(cartHdrUid) }); }, }, /** * Lines Operations - individual line item management */ lines: { /** * Remove a specific line item from the cart * @fullPath api.commerce.cartLine.lines.delete * @service commerce * @domain cart-management * @dataMethod cartLineData.lines.delete * @discoverable true */ delete: async (cartHdrUid, lineNo) => { return executeRequest({ method: 'DELETE', path: '/cart-line/{cartHdrUid}/lines/{lineNo}', responseSchema: schemas_1.CartLineDeleteResponseSchema, }, undefined, { cartHdrUid: String(cartHdrUid), lineNo: String(lineNo) }); }, }, /** * Update Operations */ update: { /** * Update quantities or details for existing cart line items * @fullPath api.commerce.cartLine.update.create * @service commerce * @domain cart-management * @dataMethod cartLineData.update.create * @discoverable true */ create: async (cartHdrUid, items) => { return executeRequest({ method: 'POST', path: '/cart-line/{cartHdrUid}/update', responseSchema: schemas_1.CartLineModifyResponseSchema, }, items, { cartHdrUid: String(cartHdrUid) }); }, }, }; } /** * Creates the cartLineData resource methods (data-only versions) */ function createCartLineDataResource(cartLine) { return { get: async (cartHdrUid) => { const response = await cartLine.get(cartHdrUid); return response.data; }, delete: async (cartHdrUid) => { const response = await cartLine.delete(cartHdrUid); return response.data; }, add: { create: async (cartHdrUid, items) => { const response = await cartLine.add.create(cartHdrUid, items); return response.data; }, }, lines: { delete: async (cartHdrUid, lineNo) => { const response = await cartLine.lines.delete(cartHdrUid, lineNo); return response.data; }, }, update: { create: async (cartHdrUid, items) => { const response = await cartLine.update.create(cartHdrUid, items); return response.data; }, }, }; } //# sourceMappingURL=cart-line.js.map