@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
113 lines • 5.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createImpOeLineResource = createImpOeLineResource;
exports.createImpOeLineDataResource = createImpOeLineDataResource;
const schemas_1 = require("../schemas");
/**
* Creates the impOeLine resource methods
* OpenAPI Path: /imp_oe_line → impOeLine.*
* @description Methods for import order entry line operations
*/
function createImpOeLineResource(executeRequest, createListMethod) {
return {
/**
* List import order entry lines with filtering capabilities
*
* @fullPath api.p21Sism.impOeLine.list
* @service p21-sism
* @domain order-entry-processing
* @dataMethod impOeLineData.list
* @discoverable true
* @searchTerms ["order lines", "import lines", "oe lines", "order entry lines", "line items"]
* @relatedEndpoints ["api.p21Sism.impOeLine.get", "api.p21Sism.import.impOeHdr.get"]
* @commonPatterns ["List order lines", "Filter by import", "Search line items"]
* @workflow ["order-processing", "line-management", "import-processing"]
* @prerequisites ["Valid authentication", "Order entry access permissions"]
* @nextSteps ["api.p21Sism.impOeLine.get for details", "api.p21Sism.impOeLine.update for modifications"]
* @businessRules ["Supports pagination", "Filter by importUid or itemId", "Search across line data"]
* @functionalArea "order-entry-processing"
* @caching "Cache for 5 minutes, invalidate on line changes"
* @performance "Indexed by importUid, supports text search"
*
* @param params Optional filtering and pagination parameters
* @returns Promise<ImpOeLineListResponse> Complete response with order lines array and metadata
*/
list: createListMethod('/imp_oe_line', schemas_1.ImpOeLineListParamsSchema, schemas_1.ImpOeLineListResponseSchema),
/**
* Get order entry line details by composite key (importUid, lineNo)
*
* @fullPath api.p21Sism.impOeLine.get
* @service p21-sism
* @domain order-entry-processing
* @dataMethod impOeLineData.get
* @discoverable true
* @searchTerms ["order line details", "line info", "oe line", "line data"]
* @relatedEndpoints ["api.p21Sism.impOeLine.list", "api.p21Sism.impOeLine.update"]
* @commonPatterns ["Get line details", "View line data", "Retrieve line info"]
* @workflow ["line-details", "order-processing", "data-retrieval"]
* @prerequisites ["Valid importUid and lineNo", "Order entry access permissions"]
* @nextSteps ["api.p21Sism.impOeLine.update for modifications"]
* @businessRules ["Composite key (importUid, lineNo)", "Returns complete line data"]
* @functionalArea "order-entry-processing"
* @performance "Direct lookup by composite key"
*
* @param importUid Import UID
* @param lineNo Line number
* @returns Promise<ImpOeLineResponse> Complete response with order line data
*/
get: async (importUid, lineNo) => executeRequest({
method: 'GET',
path: '/imp_oe_line/{importUid}/{lineNo}',
paramsSchema: schemas_1.ImpOeLineDetailParamsSchema,
responseSchema: schemas_1.ImpOeLineResponseSchema,
}, { importUid, lineNo }, { importUid: String(importUid), lineNo: String(lineNo) }),
/**
* Update order entry line by composite key (importUid, lineNo)
*
* @fullPath api.p21Sism.impOeLine.update
* @service p21-sism
* @domain order-entry-processing
* @dataMethod impOeLineData.update
* @discoverable true
* @searchTerms ["update line", "modify line", "line update", "order line update"]
* @relatedEndpoints ["api.p21Sism.impOeLine.get", "api.p21Sism.impOeLine.list"]
* @commonPatterns ["Update line data", "Modify line details", "Change line values"]
* @workflow ["line-updates", "order-processing", "data-modification"]
* @prerequisites ["Valid importUid and lineNo", "Order modification permissions"]
* @nextSteps ["api.p21Sism.impOeLine.get to verify changes"]
* @businessRules ["Composite key (importUid, lineNo)", "Validation rules apply"]
* @functionalArea "order-entry-processing"
* @performance "Direct update with validation"
*
* @param importUid Import UID
* @param lineNo Line number
* @returns Promise<ImpOeLineResponse> Complete response with updated order line data
*/
update: async (importUid, lineNo) => executeRequest({
method: 'PUT',
path: '/imp_oe_line/{importUid}/{lineNo}',
paramsSchema: schemas_1.ImpOeLineDetailParamsSchema,
responseSchema: schemas_1.ImpOeLineResponseSchema,
}, { importUid, lineNo }, { importUid: String(importUid), lineNo: String(lineNo) }),
};
}
/**
* Creates the impOeLineData resource methods (data-only versions)
*/
function createImpOeLineDataResource(impOeLineResource) {
return {
list: async (params) => {
const response = await impOeLineResource.list(params);
return response.data;
},
get: async (importUid, lineNo) => {
const response = await impOeLineResource.get(importUid, lineNo);
return response.data;
},
update: async (importUid, lineNo) => {
const response = await impOeLineResource.update(importUid, lineNo);
return response.data;
},
};
}
//# sourceMappingURL=imp-oe-line.js.map