@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
79 lines • 4.1 kB
JavaScript
import { BaseServiceClient } from '../../core/base-client';
import { createHealthCheckResource, createHealthCheckDataResource, createPingResource, createPingDataResource, createBinTransferResource, createBinTransferDataResource, createReceivingResource, createReceivingDataResource, createTransferResource, createTransferDataResource, createPurchaseOrderReceiptResource, createPurchaseOrderReceiptDataResource, createTransferReceiptResource, createTransferReceiptDataResource, createTransferShippingResource, createTransferShippingDataResource, } from './resources';
/**
* Nexus API Client
* @description Client for interacting with Nexus microservice API endpoints for comprehensive warehouse management
* @fullPath api.nexus
* @service nexus
* @domain warehouse-management
* @discoverable true
* @searchTerms ["nexus", "warehouse management", "inventory transfers", "receiving", "bin transfers", "warehouse operations"]
* @relatedEndpoints ["api.nexus.binTransfer", "api.nexus.receiving", "api.nexus.transfer", "api.nexus.health"]
* @commonPatterns ["Warehouse management operations", "Inventory movement tracking", "Receiving and transfer processing"]
* @example
* ```typescript
* import { HTTPClient } from '@augur/api-client/core';
* import { NexusClient } from '@augur/api-client/services/nexus';
*
* const http = new HTTPClient('nexus', { siteId: 'your-site-id', bearerToken: 'your-token' });
* const nexus = new NexusClient(http);
*
* // Create a bin transfer
* const binTransfer = await nexus.binTransfer.create({
* usersId: 1001,
* locationId: 5.0,
* transfers: [{
* lineNo: 1.0,
* invMastUid: 67890,
* itemId: 'ITEM001',
* toBin: 'A1-01',
* fromBin: 'B2-05',
* lot: 'LOT123',
* uom: 'EA',
* quantity: 10.0
* }]
* });
*
* // Create a receiving document
* const receiving = await nexus.receiving.create({
* poNo: 12345.0,
* referenceNo: 'REF001',
* jsonData: JSON.stringify({ items: [{ itemId: 'ITEM001', quantity: 100 }] })
* });
* ```
*/
export class NexusClient extends BaseServiceClient {
/**
* Create a new NexusClient instance
* @param http Configured HTTPClient instance
* @param baseUrl Base URL for the Nexus API (default: https://nexus.augur-api.com)
*/
constructor(http, baseUrl = 'https://nexus.augur-api.com') {
super('nexus', 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.ping = createPingResource(boundExecuteRequest);
this.pingData = createPingDataResource(this.ping);
this.binTransfer = createBinTransferResource(boundExecuteRequest);
this.binTransferData = createBinTransferDataResource(this.binTransfer);
this.receiving = createReceivingResource(boundExecuteRequest);
this.receivingData = createReceivingDataResource(this.receiving);
this.transfer = createTransferResource(boundExecuteRequest);
this.transferData = createTransferDataResource(this.transfer);
this.purchaseOrderReceipt = createPurchaseOrderReceiptResource(boundExecuteRequest);
this.purchaseOrderReceiptData = createPurchaseOrderReceiptDataResource(this.purchaseOrderReceipt);
this.transferReceipt = createTransferReceiptResource(boundExecuteRequest);
this.transferReceiptData = createTransferReceiptDataResource(this.transferReceipt);
this.transferShipping = createTransferShippingResource(boundExecuteRequest);
this.transferShippingData = createTransferShippingDataResource(this.transferShipping);
}
}
//# sourceMappingURL=client.js.map