@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
56 lines • 2 kB
JavaScript
import { z } from 'zod';
import { CompanyListParamsSchema, CompanyDetailParamsSchema } from '../schemas';
import { BaseResponseSchema } from '../../../core/schemas';
const UnknownResponseSchema = BaseResponseSchema(z.unknown());
const UnknownArrayResponseSchema = BaseResponseSchema(z.array(z.unknown()));
/**
* Creates the company resource methods
* OpenAPI Path: /company → company.*
* @description Company management operations for enterprise configuration
*/
export function createCompanyResource(executeRequest, createListMethod) {
const listMethod = createListMethod('/company', CompanyListParamsSchema, UnknownArrayResponseSchema);
return {
/**
* List companies with filtering
* @fullPath api.p21Core.company.list
* @service p21-core
* @domain company-and-corporate-management
* @dataMethod companyData.list
* @discoverable true
*/
list: listMethod,
/**
* Get company details by UID
* @fullPath api.p21Core.company.get
* @service p21-core
* @domain company-and-corporate-management
* @dataMethod companyData.get
* @discoverable true
*/
get: async (params) => {
return executeRequest({
method: 'GET',
path: '/company/{companyUid}',
paramsSchema: CompanyDetailParamsSchema,
responseSchema: UnknownResponseSchema,
}, params, { companyUid: params.companyUid });
},
};
}
/**
* Creates the companyData resource methods (data-only versions)
*/
export function createCompanyDataResource(company) {
return {
list: async (params) => {
const response = await company.list(params);
return response.data;
},
get: async (params) => {
const response = await company.get(params);
return response.data;
},
};
}
//# sourceMappingURL=company.js.map