@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
125 lines • 4.96 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createReceivingResource = createReceivingResource;
exports.createReceivingDataResource = createReceivingDataResource;
const schemas_1 = require("../schemas");
/**
* Creates the receiving resource methods
* OpenAPI Path: /receiving → receiving.*
* @description Methods for managing receiving operations - purchase order receipts and inventory receiving processes
*/
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: schemas_1.ReceivingListParamsSchema,
responseSchema: schemas_1.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: schemas_1.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: schemas_1.ReceivingCreateRequestSchema,
responseSchema: schemas_1.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: schemas_1.ReceivingUpdateRequestSchema,
responseSchema: schemas_1.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: schemas_1.ReceivingDeleteResponseSchema,
}, undefined, { receivingUid: String(receivingUid) });
},
};
}
/**
* Creates the receivingData resource methods (data-only versions)
*/
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