UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

106 lines 4.81 kB
import { TransCompanyParamsSchema, TransCompanyCreateParamsSchema, TransCompanyResponseSchema, } from '../schemas'; /** * Creates the transCompany resource methods * OpenAPI Path: /trans-company → transCompany.* * @description Company management and CRUD operations following OpenAPI path mirroring pattern */ export function createTransCompanyResource(executeRequest) { return { /** * Create new transaction company - OpenAPI Path: /trans-company * @description Creates a new company entity within the P21 transactional system. Returns the created company details for verification and further operations. * * @fullPath api.p21Apis.transCompany.create * @service p21-apis * @domain company-management * @dataMethod transCompanyData.create * @discoverable true * @searchTerms ["create company", "new company", "company creation", "add company"] * @relatedEndpoints ["api.p21Apis.transCompany.get", "api.p21Apis.transCompany.update", "api.p21Core.company.list"] * @commonPatterns ["Create new company", "Add company to system", "Company setup", "Business entity creation"] * @workflow ["company-setup", "business-management", "corporate-structure", "entity-management"] * @prerequisites ["Valid site ID", "Company creation permissions", "Authentication"] * @nextSteps ["api.p21Apis.transCompany.get for verification", "api.p21Core.company for company operations"] * @businessRules ["Site-scoped company creation", "Unique company constraints", "Corporate hierarchy support"] * @functionalArea "company-management" * @performance "Real-time company creation with immediate availability" */ create: async (params) => { return executeRequest({ method: 'POST', path: '/trans-company', paramsSchema: TransCompanyCreateParamsSchema, responseSchema: TransCompanyResponseSchema, }, params || {}); }, /** * Get transaction company details by company UID - OpenAPI Path: /trans-company/{companyUid} */ get: async (companyUid, params) => { return executeRequest({ method: 'GET', path: `/trans-company/${companyUid}`, paramsSchema: TransCompanyParamsSchema, responseSchema: TransCompanyResponseSchema, }, { companyUid, ...params }, { companyUid: String(companyUid) }); }, /** * Update transaction company by company UID - OpenAPI Path: /trans-company/{companyUid} */ update: async (companyUid, params) => { return executeRequest({ method: 'PUT', path: `/trans-company/${companyUid}`, paramsSchema: TransCompanyParamsSchema, responseSchema: TransCompanyResponseSchema, }, { companyUid, ...params }, { companyUid: String(companyUid) }); }, /** * Delete transaction company by company UID - OpenAPI Path: /trans-company/{companyUid} */ delete: async (companyUid, params) => { return executeRequest({ method: 'DELETE', path: `/trans-company/${companyUid}`, paramsSchema: TransCompanyParamsSchema, responseSchema: TransCompanyResponseSchema, }, { companyUid, ...params }, { companyUid: String(companyUid) }); }, }; } /** * Creates the transCompanyData resource methods (data-only versions) */ export function createTransCompanyDataResource(transCompany) { return { /** * Create company and return only data without response metadata */ create: async (params) => { const response = await transCompany.create(params); return response.data; }, /** * Get company and return only data without response metadata */ get: async (companyUid, params) => { const response = await transCompany.get(companyUid, params); return response.data; }, /** * Update company and return only data without response metadata */ update: async (companyUid, params) => { const response = await transCompany.update(companyUid, params); return response.data; }, /** * Delete company and return only data without response metadata */ delete: async (companyUid, params) => { const response = await transCompany.delete(companyUid, params); return response.data; }, }; } //# sourceMappingURL=trans-company.js.map