UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

72 lines 4.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomersClient = void 0; const base_client_1 = require("../../core/base-client"); const resources_1 = require("./resources"); /** * Customers API Client - OpenAPI Path Mirroring Pattern Implementation * @description Client for interacting with Customers microservice API endpoints * @fullPath api.customers * @service customers * @domain customer-management * @discoverable true * @searchTerms ["customers", "contacts", "orders", "invoices", "quotes", "addresses", "ship-to"] * @commonPatterns ["customer lookup", "contact management", "order history", "invoice tracking"] * * @example OpenAPI Path Mirroring Pattern * ```typescript * import { HTTPClient } from '@augur/api-client/core'; * import { CustomersClient } from '@augur/api-client/services/customers'; * * const http = new HTTPClient('customers', { siteId: 'your-site-id', bearerToken: 'your-token' }); * const client = new CustomersClient(http); * * // OpenAPI Path: /customer → client.customerList.list() * const customerList = await client.customerList.list({ limit: 10 }); * * // OpenAPI Path: /customer/{customerId}/doc → client.customer(123).doc.get() * const customer = await client.customer(123).doc.get(); * * // OpenAPI Path: /contacts/{id}/customers → client.contacts(456).customers.list() * const salesRepCustomers = await client.contacts(456).customers.list(); * * // OpenAPI Path: /customer/{customerId}/orders/{orderNo} → client.customer(123).orders(789).get() * const order = await client.customer(123).orders(789).get(); * ``` */ class CustomersClient extends base_client_1.BaseServiceClient { /** * Create a new CustomersClient instance * @param http Configured HTTPClient instance * @param baseUrl Base URL for the Customers API (default: https://customers.augur-api.com) */ constructor(http, baseUrl = 'https://customers.augur-api.com') { super('customers', http, baseUrl); // Bind executeRequest for resource factories const boundExecuteRequest = (config, params, pathParams) => { if (params !== undefined || config.paramsSchema !== undefined) { return this.executeRequest(config, params, pathParams); } return this.executeRequest(config, undefined, pathParams); }; // Initialize resources this.healthCheck = (0, resources_1.createHealthCheckResource)(boundExecuteRequest); this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck); this.customerList = (0, resources_1.createCustomerListResource)(boundExecuteRequest); this.customerListData = (0, resources_1.createCustomerListDataResource)(this.customerList); this.customerLookup = (0, resources_1.createCustomerLookupResource)(boundExecuteRequest); this.customerLookupData = (0, resources_1.createCustomerLookupDataResource)(this.customerLookup); this.customer = (0, resources_1.createCustomerResource)(boundExecuteRequest); this.customerData = (0, resources_1.createCustomerDataResource)(this.customer); this.contacts = (0, resources_1.createContactsResource)(boundExecuteRequest); this.contactsData = (0, resources_1.createContactsDataResource)(this.contacts); this.contactsUd = (0, resources_1.createContactsUdResource)(boundExecuteRequest); this.contactsUdData = (0, resources_1.createContactsUdDataResource)(this.contactsUd); this.shipTo = (0, resources_1.createShipToResource)(boundExecuteRequest); this.shipToData = (0, resources_1.createShipToDataResource)(this.shipTo); this.oeContactsCustomer = (0, resources_1.createOeContactsCustomerResource)(boundExecuteRequest); this.oeContactsCustomerData = (0, resources_1.createOeContactsCustomerDataResource)(this.oeContactsCustomer); } } exports.CustomersClient = CustomersClient; //# sourceMappingURL=client.js.map