UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

68 lines 4.03 kB
import { BaseServiceClient } from '../../core/base-client'; import { createHealthCheckResource, createHealthCheckDataResource, createCustomerListResource, createCustomerListDataResource, createCustomerLookupResource, createCustomerLookupDataResource, createCustomerResource, createCustomerDataResource, createContactsResource, createContactsDataResource, createContactsUdResource, createContactsUdDataResource, createShipToResource, createShipToDataResource, createOeContactsCustomerResource, createOeContactsCustomerDataResource, } from './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(); * ``` */ export class CustomersClient extends 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 = createHealthCheckResource(boundExecuteRequest); this.healthCheckData = createHealthCheckDataResource(this.healthCheck); this.customerList = createCustomerListResource(boundExecuteRequest); this.customerListData = createCustomerListDataResource(this.customerList); this.customerLookup = createCustomerLookupResource(boundExecuteRequest); this.customerLookupData = createCustomerLookupDataResource(this.customerLookup); this.customer = createCustomerResource(boundExecuteRequest); this.customerData = createCustomerDataResource(this.customer); this.contacts = createContactsResource(boundExecuteRequest); this.contactsData = createContactsDataResource(this.contacts); this.contactsUd = createContactsUdResource(boundExecuteRequest); this.contactsUdData = createContactsUdDataResource(this.contactsUd); this.shipTo = createShipToResource(boundExecuteRequest); this.shipToData = createShipToDataResource(this.shipTo); this.oeContactsCustomer = createOeContactsCustomerResource(boundExecuteRequest); this.oeContactsCustomerData = createOeContactsCustomerDataResource(this.oeContactsCustomer); } } //# sourceMappingURL=client.js.map