UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

149 lines 6.34 kB
import { BinTransferListParamsSchema, BinTransferListResponseSchema, BinTransferGetResponseSchema, BinTransferStatusResponseSchema, BinTransferCreateRequestSchema, BinTransferCreateResponseSchema, BinTransferUpdateRequestSchema, BinTransferUpdateResponseSchema, BinTransferDeleteResponseSchema, } from '../schemas'; /** * Creates the binTransfer resource methods * OpenAPI Path: /bin-transfer → binTransfer.* * @description Methods for managing bin transfers - movement of inventory between bins within the same location */ export function createBinTransferResource(executeRequest) { return { /** * Retrieve a list of bin transfer headers with optional filtering * @description Returns all bin transfer headers with pagination and status filtering support * @fullPath api.nexus.binTransfer.list * @service nexus * @domain warehouse-management * @dataMethod binTransferData.list * @discoverable true */ list: async (params) => { return executeRequest({ method: 'GET', path: '/bin-transfer', paramsSchema: BinTransferListParamsSchema, responseSchema: BinTransferListResponseSchema, }, params); }, /** * Retrieve details for a specific bin transfer header * @description Returns complete details for a bin transfer including JSON data and properties * @fullPath api.nexus.binTransfer.get * @service nexus * @domain warehouse-management * @dataMethod binTransferData.get * @discoverable true */ get: async (binTransferHdrUid) => { return executeRequest({ method: 'GET', path: '/bin-transfer/{binTransferHdrUid}', responseSchema: BinTransferGetResponseSchema, }, undefined, { binTransferHdrUid: String(binTransferHdrUid) }); }, /** * Status sub-endpoints for bin transfers * @description Methods for retrieving bin transfer status and line item details */ status: { /** * Retrieve bin transfer status with detailed line items * @description Returns complete bin transfer header with associated line items for status checking * @fullPath api.nexus.binTransfer.status.get * @service nexus * @domain warehouse-management * @dataMethod binTransferData.status.get * @discoverable true */ get: async (binTransferHdrUid) => { return executeRequest({ method: 'GET', path: '/bin-transfer/{binTransferHdrUid}/status', responseSchema: BinTransferStatusResponseSchema, }, undefined, { binTransferHdrUid: String(binTransferHdrUid) }); }, }, /** * Create a new bin transfer header with associated line items * @description Creates a bin transfer with complete transfer line items for inventory movement * @fullPath api.nexus.binTransfer.create * @service nexus * @domain warehouse-management * @dataMethod binTransferData.create * @discoverable true */ create: async (transferData) => { return executeRequest({ method: 'POST', path: '/bin-transfer', paramsSchema: BinTransferCreateRequestSchema, responseSchema: BinTransferCreateResponseSchema, }, transferData); }, /** * Update an existing bin transfer header * @description Updates bin transfer status, process codes, and additional data * @fullPath api.nexus.binTransfer.update * @service nexus * @domain warehouse-management * @dataMethod binTransferData.update * @discoverable true */ update: async (binTransferHdrUid, updateData) => { return executeRequest({ method: 'PUT', path: '/bin-transfer/{binTransferHdrUid}', paramsSchema: BinTransferUpdateRequestSchema, responseSchema: BinTransferUpdateResponseSchema, }, updateData, { binTransferHdrUid: String(binTransferHdrUid) }); }, /** * Soft delete a bin transfer header * @description Marks a bin transfer as deleted by setting status code to 700 * @fullPath api.nexus.binTransfer.delete * @service nexus * @domain warehouse-management * @dataMethod binTransferData.delete * @discoverable true */ delete: async (binTransferHdrUid) => { return executeRequest({ method: 'DELETE', path: '/bin-transfer/{binTransferHdrUid}', responseSchema: BinTransferDeleteResponseSchema, }, undefined, { binTransferHdrUid: String(binTransferHdrUid) }); }, }; } /** * Creates the binTransferData resource methods (data-only versions) */ export function createBinTransferDataResource(binTransfer) { return { list: async (params) => { const response = await binTransfer.list(params); return response.data; }, get: async (binTransferHdrUid) => { const response = await binTransfer.get(binTransferHdrUid); return response.data; }, status: { get: async (binTransferHdrUid) => { const response = await binTransfer.status.get(binTransferHdrUid); return response.data; }, }, create: async (transferData) => { const response = await binTransfer.create(transferData); return response.data; }, update: async (binTransferHdrUid, updateData) => { const response = await binTransfer.update(binTransferHdrUid, updateData); return response.data; }, delete: async (binTransferHdrUid) => { const response = await binTransfer.delete(binTransferHdrUid); return response.data; }, }; } //# sourceMappingURL=bin-transfer.js.map