UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

158 lines 9.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPoHdrResource = createPoHdrResource; exports.createPoHdrDataResource = createPoHdrDataResource; const schemas_1 = require("../schemas"); /** * Creates the poHdr resource methods * OpenAPI Path: /po-hdr → poHdr.* * @description Comprehensive purchase order management including creation, tracking, receiving, and document generation */ function createPoHdrResource(executeRequest, createListMethod, createGetMethod, createCreateMethod) { return { /** * List purchase orders with filtering and pagination - OpenAPI Path: /po-hdr * @description Returns paginated purchase orders with comprehensive filtering by status, vendor, date ranges, and completion status. Essential for procurement management and receiving workflows. * * @fullPath api.orders.poHdr.list * @service orders * @domain procurement-management * @dataMethod poHdrData.list - returns only the purchase orders array without metadata * @discoverable true * @searchTerms ["purchase orders", "PO list", "procurement", "vendor orders", "purchase order management", "receiving"] * @relatedEndpoints ["api.orders.poHdr.get", "api.orders.poHdr.doc.get", "api.orders.poHdr.scan.create", "api.nexus.receiving.list"] * @commonPatterns ["List open POs", "Find POs by vendor", "Track receiving status", "Procurement dashboard"] * @workflow ["procurement-workflow", "purchase-order-lifecycle", "receiving-management"] * @prerequisites ["Valid authentication", "Purchase order access permissions"] * @nextSteps ["api.orders.poHdr.get for details", "api.nexus.receiving.create for receiving", "Update PO status"] * @businessRules ["Filters by completion status", "Supports vendor and date filtering", "Pagination required for large datasets"] * @functionalArea "procurement-and-purchasing" * @performance "Use filtering to reduce result sets. Consider pagination for better performance." */ list: createListMethod('/po-hdr', schemas_1.PurchaseOrderListParamsSchema, schemas_1.PurchaseOrderListResponseSchema), /** * Get detailed purchase order information - OpenAPI Path: /po-hdr/{poNo} * @description Returns comprehensive purchase order details including header information, vendor details, status, and summary totals. Used for PO management and tracking. * * @fullPath api.orders.poHdr.get * @service orders * @domain procurement-management * @dataMethod poHdrData.get - returns only the purchase order detail without metadata * @discoverable true * @searchTerms ["purchase order details", "PO details", "purchase order info", "PO header"] * @relatedEndpoints ["api.orders.poHdr.list", "api.orders.poHdr.doc.get", "api.nexus.receiving.list"] * @commonPatterns ["Get PO details", "View purchase order", "PO status check", "Vendor order info"] * @workflow ["purchase-order-review", "receiving-preparation", "vendor-management"] * @prerequisites ["Valid purchase order number", "PO access permissions"] * @nextSteps ["api.orders.poHdr.doc.get for full details", "Create receiving record", "Update PO status"] * @businessRules ["Returns header-level information only", "Access controlled by permissions", "Status reflects current receiving state"] * @functionalArea "procurement-and-purchasing" * @performance "Single PO retrieval - efficient for header information" */ get: createGetMethod('/po-hdr/{poNo}', schemas_1.PurchaseOrderDetailResponseSchema), /** * Purchase order document operations - OpenAPI Path: /po-hdr/{poNo}/doc */ doc: { /** * Get complete purchase order document with all related information * @description Returns comprehensive purchase order document including header, line items, vendor information, shipping details, and totals. Complete document for receiving and fulfillment processes. * * @fullPath api.orders.poHdr.doc.get * @service orders * @domain procurement-management * @dataMethod poHdrData.doc.get - returns only the purchase order document without metadata * @discoverable true * @searchTerms ["purchase order document", "complete PO", "PO with lines", "full purchase order", "PO document"] * @relatedEndpoints ["api.orders.poHdr.get", "api.orders.poHdr.list", "api.nexus.receiving.create"] * @commonPatterns ["Complete PO details", "PO for receiving", "Full purchase order", "PO with line items"] * @workflow ["purchase-order-fulfillment", "receiving-workflow", "vendor-management"] * @prerequisites ["Valid purchase order number", "Document access permissions"] * @nextSteps ["Process receiving", "Create receiving records", "Update line item status"] * @businessRules ["Includes all line items and quantities", "Shows receiving status per line", "Contains vendor and shipping details"] * @functionalArea "procurement-and-purchasing" * @performance "Complete document retrieval - includes all related data in single call" */ get: async (poNo) => { return executeRequest({ method: 'GET', path: `/po-hdr/${poNo}/doc`, responseSchema: schemas_1.PurchaseOrderDocumentResponseSchema, }, {}); }, }, /** * Purchase order scan operations - OpenAPI Path: /po-hdr/scan */ scan: { /** * Scan for similar purchase orders based on provided criteria * @description Intelligent purchase order discovery that finds similar POs based on items, vendors, or other criteria. Useful for reordering, vendor analysis, and procurement optimization. * * @fullPath api.orders.poHdr.scan.create * @service orders * @domain procurement-management * @dataMethod poHdrData.scan.create - returns only the scan results without metadata * @discoverable true * @searchTerms ["PO scan", "similar purchase orders", "find similar POs", "PO search", "procurement patterns"] * @relatedEndpoints ["api.orders.poHdr.list", "api.orders.poHdr.doc.get", "api.items.products.list"] * @commonPatterns ["Find similar orders", "Reorder analysis", "Vendor pattern analysis", "Procurement optimization"] * @workflow ["procurement-optimization", "reorder-analysis", "vendor-comparison"] * @prerequisites ["Scan criteria parameters", "PO access permissions"] * @nextSteps ["Analyze results for reordering", "Compare vendor patterns", "Optimize procurement"] * @businessRules ["Matches based on provided criteria", "Returns similarity scores", "Filters by date ranges and status"] * @functionalArea "procurement-and-purchasing" * @performance "Advanced search operation - may take longer for complex criteria" */ create: createCreateMethod('/po-hdr/scan', schemas_1.PurchaseOrderScanParamsSchema, schemas_1.PurchaseOrderScanResponseSchema), }, }; } /** * Creates the poHdrData resource methods (data-only versions) */ function createPoHdrDataResource(poHdr) { return { /** * Get only purchase orders data without response metadata * @param params Same parameters as list() method * @returns Promise<PurchaseOrder[]> Direct array of purchase orders */ list: async (params) => { const response = await poHdr.list(params); return response.data; }, /** * Get only purchase order detail data without response metadata * @param id Purchase order number to retrieve * @returns Promise<PurchaseOrderDetail> Direct purchase order detail object */ get: async (id) => { const response = await poHdr.get(id); return response.data; }, doc: { /** * Get only purchase order document data without response metadata * @param poNo Purchase order number to retrieve * @returns Promise<PurchaseOrderDocument> Direct purchase order document object */ get: async (poNo) => { const response = await poHdr.doc.get(poNo); return response.data; }, }, scan: { /** * Get only purchase order scan results data without response metadata * @param params Same parameters as create() method * @returns Promise<PurchaseOrderScanResult[]> Direct array of scan results */ create: async (params) => { const response = await poHdr.scan.create(params || {}); return response.data; }, }, }; } //# sourceMappingURL=po-hdr.js.map