@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
68 lines • 3.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PricingClient = void 0;
const base_client_1 = require("../../core/base-client");
const resources_1 = require("./resources");
/**
* Pricing API Client
* @description Client for interacting with Pricing microservice API endpoints for pricing calculations, tax computation, and job-based pricing management
* @service pricing
* @domain pricing-management
* @discoverable true
* @searchTerms ["pricing", "tax", "job pricing", "price engine", "tax engine", "price calculation", "tax calculation"]
* @example
* ```typescript
* import { HTTPClient } from '@augur/api-client/core';
* import { PricingClient } from '@augur/api-client/services/pricing';
*
* const http = new HTTPClient('pricing', { siteId: 'your-site-id', bearerToken: 'your-token' });
* const pricing = new PricingClient(http);
*
* // Get item price
* const price = await pricing.priceEngine.get({ customerId: 12345, itemId: 'ABC123', quantity: 10 });
*
* // Calculate tax
* const tax = await pricing.taxEngine.create({
* customer_id: 12345,
* postal_code: '12345',
* items: [{ item_id: 'ABC123', quantity: 2, unit_price: 25.99, extended_amount: 51.98 }],
* ship_to_address: { street: '123 Main St', city: 'Anytown', state: 'NY', postal_code: '12345' }
* });
*
* // List job price headers
* const jobHeaders = await pricing.jobPriceHdr.list({ limit: 25, q: 'contract' });
*
* // Get specific job price line
* const jobLine = await pricing.jobPriceHdr.lines.get(12345, 67890);
* ```
*/
class PricingClient extends base_client_1.BaseServiceClient {
/**
* Create a new PricingClient instance
* @param http Configured HTTPClient instance
* @param baseUrl Base URL for the Pricing API (default: https://pricing.augur-api.com)
*/
constructor(http, baseUrl = 'https://pricing.augur-api.com') {
super('pricing', http, baseUrl);
// Bind executeRequest for resource factories
const boundExecuteRequest = (config, params, pathParams) => {
return this.executeRequest(config, params, pathParams);
};
// Initialize resources
this.healthCheck = (0, resources_1.createHealthCheckResource)(boundExecuteRequest);
this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck);
this.priceEngine = (0, resources_1.createPriceEngineResource)(boundExecuteRequest);
this.priceEngineData = (0, resources_1.createPriceEngineDataResource)(this.priceEngine);
this.taxEngine = (0, resources_1.createTaxEngineResource)(boundExecuteRequest);
this.taxEngineData = (0, resources_1.createTaxEngineDataResource)(this.taxEngine);
this.jobPriceHdr = (0, resources_1.createJobPriceHdrResource)(boundExecuteRequest);
this.jobPriceHdrData = (0, resources_1.createJobPriceHdrDataResource)(this.jobPriceHdr);
this.ping = (0, resources_1.createPingResource)(boundExecuteRequest);
this.pingData = (0, resources_1.createPingDataResource)(this.ping);
}
getServiceDescription() {
return 'Pricing service for price calculations, tax computation, and job-based pricing management';
}
}
exports.PricingClient = PricingClient;
//# sourceMappingURL=client.js.map