@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
74 lines • 3.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPriceEngineResource = createPriceEngineResource;
exports.createPriceEngineDataResource = createPriceEngineDataResource;
const schemas_1 = require("../schemas");
/**
* Creates the priceEngine resource methods
* OpenAPI Path: /price-engine → priceEngine.*
* @description Pricing calculations and price determination
*/
function createPriceEngineResource(executeRequest) {
return {
/**
* Get item price using the price engine
* @description Primary pricing endpoint for calculating item prices with sophisticated caching and compression
* @fullPath api.pricing.priceEngine.get
* @service pricing
* @domain pricing-calculation
* @dataMethod priceEngineData.get
* @discoverable true
* @searchTerms ["price engine", "item pricing", "price calculation", "get price"]
* @relatedEndpoints ["api.pricing.taxEngine.create"]
* @commonPatterns ["calculate item price", "get pricing", "price lookup"]
* @param params Pricing parameters including customer ID, item ID, quantity, and other options
* @returns Detailed pricing information including base price, unit price, discounts, and calculation details
* @throws ValidationError When parameters are invalid or response is malformed
* @example
* ```typescript
* const price = await client.priceEngine.get({
* customerId: 12345,
* itemId: 'ABC123',
* quantity: 10,
* unitOfMeasure: 'EA',
* shipToId: 456
* });
*
* console.log('Unit Price:', price.unit_price);
* console.log('Discount:', price.discount_percent);
* console.log('Price Source:', price.price_source);
* ```
*/
get: async (params) => {
return executeRequest({
method: 'GET',
path: '/price-engine',
paramsSchema: schemas_1.PriceEngineParamsSchema,
responseSchema: schemas_1.PriceEngineResponseSchema,
}, params);
},
};
}
/**
* Creates the priceEngineData resource methods (data-only versions)
*/
function createPriceEngineDataResource(priceEngine) {
return {
/**
* Get item price data without response metadata
* @fullPath api.pricing.priceEngineData.get
* @service pricing
* @domain pricing-calculation
* @discoverable true
* @searchTerms ["price engine data", "get price data", "pricing data"]
* @relatedEndpoints ["api.pricing.priceEngine.get"]
* @commonPatterns ["get price data", "price calculation data"]
* @returns Promise<PriceEngineData> Price calculation data directly
*/
get: async (params) => {
const response = await priceEngine.get(params);
return response.data;
},
};
}
//# sourceMappingURL=price-engine.js.map