@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
83 lines • 4.06 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NexusClient = void 0;
const base_client_1 = require("../../core/base-client");
const resources_1 = require("./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 }] })
* });
* ```
*/
class NexusClient extends base_client_1.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 = (0, resources_1.createHealthCheckResource)(boundExecuteRequest);
this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck);
this.ping = (0, resources_1.createPingResource)(boundExecuteRequest);
this.pingData = (0, resources_1.createPingDataResource)(this.ping);
this.binTransfer = (0, resources_1.createBinTransferResource)(boundExecuteRequest);
this.binTransferData = (0, resources_1.createBinTransferDataResource)(this.binTransfer);
this.receiving = (0, resources_1.createReceivingResource)(boundExecuteRequest);
this.receivingData = (0, resources_1.createReceivingDataResource)(this.receiving);
this.transfer = (0, resources_1.createTransferResource)(boundExecuteRequest);
this.transferData = (0, resources_1.createTransferDataResource)(this.transfer);
this.purchaseOrderReceipt = (0, resources_1.createPurchaseOrderReceiptResource)(boundExecuteRequest);
this.purchaseOrderReceiptData = (0, resources_1.createPurchaseOrderReceiptDataResource)(this.purchaseOrderReceipt);
this.transferReceipt = (0, resources_1.createTransferReceiptResource)(boundExecuteRequest);
this.transferReceiptData = (0, resources_1.createTransferReceiptDataResource)(this.transferReceipt);
this.transferShipping = (0, resources_1.createTransferShippingResource)(boundExecuteRequest);
this.transferShippingData = (0, resources_1.createTransferShippingDataResource)(this.transferShipping);
}
}
exports.NexusClient = NexusClient;
//# sourceMappingURL=client.js.map