UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

81 lines 5.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.P21ApisClient = void 0; const base_client_1 = require("../../core/base-client"); const resources_1 = require("./resources"); /** * P21 APIs Client - OpenAPI Path Mirroring Implementation * @description Client for interacting with P21 transactional API endpoints for entity data refresh and CRUD operations on categories, companies, purchase order receipts, users, and web display types within the Prophet 21 ERP system. Follows strict OpenAPI path mirroring pattern. * * @fullPath api.p21Apis * @service p21-apis * @domain transactional-erp-operations * @discoverable true * @searchTerms ["p21-apis", "prophet 21", "ERP", "transactional operations", "entity refresh", "categories", "companies", "users", "web display types", "purchase orders", "data synchronization"] * @relatedEndpoints ["api.p21Core.company.list", "api.orders.poHdr.list", "api.items.categories.list", "api.customers.customer.list"] * @commonPatterns ["ERP data synchronization", "Entity refresh operations", "Transaction CRUD operations", "Category management", "Company data operations", "User management", "Web display configuration"] * @workflow ["erp-transactions", "data-refresh", "entity-management", "category-operations", "company-management", "user-administration", "web-display-setup"] * @prerequisites ["Valid P21 system access", "ERP authentication", "Site ID configuration", "Transactional operation permissions"] * @nextSteps ["api.p21Core for core ERP operations", "api.orders for order processing", "api.items for inventory management"] * @businessRules ["Site-scoped data access", "Bearer JWT authentication required", "Transactional consistency", "Entity refresh synchronization"] * @functionalArea "transactional-erp-operations" * @caching "Real-time operations - no caching for transactional endpoints, cache health check for 5 minutes" * @performance "Supports transactional operations with P21 ERP backend, optimized for individual entity operations" * * @example * ```typescript * const api = new AugurAPI({ bearerToken: 'token', siteId: 'site' }); * * // OpenAPI Path Mirroring Examples: * // /entity-contacts/refresh → api.p21Apis.entityContacts.refresh.get() * const contactsRefresh = await api.p21Apis.entityContacts.refresh.get(); * * // /health-check → api.p21Apis.healthCheck.get() * const health = await api.p21Apis.healthCheck.get(); * * // /trans-category → api.p21Apis.transCategory.create() * const newCategory = await api.p21Apis.transCategory.create(); * * // /trans-category/{categoryUid} → api.p21Apis.transCategory.get(categoryUid) * const category = await api.p21Apis.transCategory.get(123); * * // /trans-web-display-type/defaults → api.p21Apis.transWebDisplayType.defaults.get() * const defaults = await api.p21Apis.transWebDisplayType.defaults.get(); * ``` */ class P21ApisClient extends base_client_1.BaseServiceClient { /** * Create a new P21ApisClient instance * @param http Configured HTTPClient instance with authentication * @param baseUrl Base URL for the P21 APIs service (default: https://p21-apis.augur-api.com) */ constructor(http, baseUrl = 'https://p21-apis.augur-api.com') { super('p21-apis', http, baseUrl); // Bind executeRequest for resource factories const boundExecuteRequest = (config, params, pathParams) => { if (params !== undefined || config.paramsSchema !== undefined) { return this.executeRequest(config, params, pathParams); } return this.executeRequest(config, undefined, pathParams); }; // Initialize resources this.healthCheck = (0, resources_1.createHealthCheckResource)(boundExecuteRequest); this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck); this.entityContacts = (0, resources_1.createEntityContactsResource)(boundExecuteRequest); this.entityContactsData = (0, resources_1.createEntityContactsDataResource)(this.entityContacts); this.entityCustomers = (0, resources_1.createEntityCustomersResource)(boundExecuteRequest); this.entityCustomersData = (0, resources_1.createEntityCustomersDataResource)(this.entityCustomers); this.transCategory = (0, resources_1.createTransCategoryResource)(boundExecuteRequest); this.transCategoryData = (0, resources_1.createTransCategoryDataResource)(this.transCategory); this.transCompany = (0, resources_1.createTransCompanyResource)(boundExecuteRequest); this.transCompanyData = (0, resources_1.createTransCompanyDataResource)(this.transCompany); this.transPurchaseOrderReceipt = (0, resources_1.createTransPurchaseOrderReceiptResource)(boundExecuteRequest); this.transPurchaseOrderReceiptData = (0, resources_1.createTransPurchaseOrderReceiptDataResource)(this.transPurchaseOrderReceipt); this.transUser = (0, resources_1.createTransUserResource)(boundExecuteRequest); this.transUserData = (0, resources_1.createTransUserDataResource)(this.transUser); this.transWebDisplayType = (0, resources_1.createTransWebDisplayTypeResource)(boundExecuteRequest); this.transWebDisplayTypeData = (0, resources_1.createTransWebDisplayTypeDataResource)(this.transWebDisplayType); } } exports.P21ApisClient = P21ApisClient; //# sourceMappingURL=client.js.map