UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

121 lines 4.92 kB
import { ReceivingListParamsSchema, ReceivingListResponseSchema, ReceivingGetResponseSchema, ReceivingCreateRequestSchema, ReceivingCreateResponseSchema, ReceivingUpdateRequestSchema, ReceivingUpdateResponseSchema, ReceivingDeleteResponseSchema, } from '../schemas'; /** * Creates the receiving resource methods * OpenAPI Path: /receiving → receiving.* * @description Methods for managing receiving operations - purchase order receipts and inventory receiving processes */ export function createReceivingResource(executeRequest) { return { /** * Retrieve a list of receiving documents with optional filtering * @description Returns receiving documents with pagination and filtering by PO number or status * @fullPath api.nexus.receiving.list * @service nexus * @domain warehouse-management * @dataMethod receivingData.list * @discoverable true */ list: async (params) => { return executeRequest({ method: 'GET', path: '/receiving', paramsSchema: ReceivingListParamsSchema, responseSchema: ReceivingListResponseSchema, }, params); }, /** * Retrieve details for a specific receiving document * @description Returns complete details for a receiving document including JSON data and properties * @fullPath api.nexus.receiving.get * @service nexus * @domain warehouse-management * @dataMethod receivingData.get * @discoverable true */ get: async (receivingUid) => { return executeRequest({ method: 'GET', path: '/receiving/{receivingUid}', responseSchema: ReceivingGetResponseSchema, }, undefined, { receivingUid: String(receivingUid) }); }, /** * Create a new receiving document * @description Creates a receiving document for purchase order receipt processing * @fullPath api.nexus.receiving.create * @service nexus * @domain warehouse-management * @dataMethod receivingData.create * @discoverable true */ create: async (receivingData) => { return executeRequest({ method: 'POST', path: '/receiving', paramsSchema: ReceivingCreateRequestSchema, responseSchema: ReceivingCreateResponseSchema, }, receivingData); }, /** * Update an existing receiving document * @description Updates receiving status, process codes, messages, and tracking information * @fullPath api.nexus.receiving.update * @service nexus * @domain warehouse-management * @dataMethod receivingData.update * @discoverable true */ update: async (receivingUid, updateData) => { return executeRequest({ method: 'PUT', path: '/receiving/{receivingUid}', paramsSchema: ReceivingUpdateRequestSchema, responseSchema: ReceivingUpdateResponseSchema, }, updateData, { receivingUid: String(receivingUid) }); }, /** * Soft delete a receiving document * @description Marks a receiving document as deleted by setting status code to 700 * @fullPath api.nexus.receiving.delete * @service nexus * @domain warehouse-management * @dataMethod receivingData.delete * @discoverable true */ delete: async (receivingUid) => { return executeRequest({ method: 'DELETE', path: '/receiving/{receivingUid}', responseSchema: ReceivingDeleteResponseSchema, }, undefined, { receivingUid: String(receivingUid) }); }, }; } /** * Creates the receivingData resource methods (data-only versions) */ export function createReceivingDataResource(receiving) { return { list: async (params) => { const response = await receiving.list(params); return response.data; }, get: async (receivingUid) => { const response = await receiving.get(receivingUid); return response.data; }, create: async (receivingData) => { const response = await receiving.create(receivingData); return response.data; }, update: async (receivingUid, updateData) => { const response = await receiving.update(receivingUid, updateData); return response.data; }, delete: async (receivingUid) => { const response = await receiving.delete(receivingUid); return response.data; }, }; } //# sourceMappingURL=receiving.js.map