UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

121 lines 4.8 kB
import { TransferListParamsSchema, TransferListResponseSchema, TransferGetResponseSchema, TransferCreateRequestSchema, TransferCreateResponseSchema, TransferUpdateRequestSchema, TransferUpdateResponseSchema, TransferDeleteResponseSchema, } from '../schemas'; /** * Creates the transfer resource methods * OpenAPI Path: /transfer → transfer.* * @description Methods for managing general transfer operations for inventory movement between locations */ export function createTransferResource(executeRequest) { return { /** * Retrieve a list of transfer documents with optional filtering * @description Returns transfer documents with pagination and filtering by reference number or status * @fullPath api.nexus.transfer.list * @service nexus * @domain warehouse-management * @dataMethod transferData.list * @discoverable true */ list: async (params) => { return executeRequest({ method: 'GET', path: '/transfer', paramsSchema: TransferListParamsSchema, responseSchema: TransferListResponseSchema, }, params); }, /** * Retrieve details for a specific transfer document * @description Returns complete details for a transfer document including JSON data * @fullPath api.nexus.transfer.get * @service nexus * @domain warehouse-management * @dataMethod transferData.get * @discoverable true */ get: async (transferUid) => { return executeRequest({ method: 'GET', path: '/transfer/{transferUid}', responseSchema: TransferGetResponseSchema, }, undefined, { transferUid: String(transferUid) }); }, /** * Create a new transfer document * @description Creates a transfer document for inventory movement between locations * @fullPath api.nexus.transfer.create * @service nexus * @domain warehouse-management * @dataMethod transferData.create * @discoverable true */ create: async (transferData) => { return executeRequest({ method: 'POST', path: '/transfer', paramsSchema: TransferCreateRequestSchema, responseSchema: TransferCreateResponseSchema, }, transferData); }, /** * Update an existing transfer document * @description Updates transfer status, process codes, and messages * @fullPath api.nexus.transfer.update * @service nexus * @domain warehouse-management * @dataMethod transferData.update * @discoverable true */ update: async (transferUid, updateData) => { return executeRequest({ method: 'PUT', path: '/transfer/{transferUid}', paramsSchema: TransferUpdateRequestSchema, responseSchema: TransferUpdateResponseSchema, }, updateData, { transferUid: String(transferUid) }); }, /** * Soft delete a transfer document * @description Marks a transfer document as deleted by setting status code to 700 * @fullPath api.nexus.transfer.delete * @service nexus * @domain warehouse-management * @dataMethod transferData.delete * @discoverable true */ delete: async (transferUid) => { return executeRequest({ method: 'DELETE', path: '/transfer/{transferUid}', responseSchema: TransferDeleteResponseSchema, }, undefined, { transferUid: String(transferUid) }); }, }; } /** * Creates the transferData resource methods (data-only versions) */ export function createTransferDataResource(transfer) { return { list: async (params) => { const response = await transfer.list(params); return response.data; }, get: async (transferUid) => { const response = await transfer.get(transferUid); return response.data; }, create: async (transferData) => { const response = await transfer.create(transferData); return response.data; }, update: async (transferUid, updateData) => { const response = await transfer.update(transferUid, updateData); return response.data; }, delete: async (transferUid) => { const response = await transfer.delete(transferUid); return response.data; }, }; } //# sourceMappingURL=transfer.js.map