UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

48 lines 2.75 kB
import { BaseServiceClient } from '../../core/base-client'; import { createHealthCheckResource, createHealthCheckDataResource, createPingResource, createHealthDataResource, createContentResource, createContentDataResource, createMenuResource, createMenuDataResource, createTagsResource, createTagsDataResource, createUsersResource, createUsersDataResource, createUserGroupsResource, createUserGroupsDataResource, } from './resources'; /** * Joomla API Client - OpenAPI Compliant * @description Fully compliant client following OpenAPI Path Mirroring Pattern * @example * ```typescript * import { HTTPClient } from '@augur/api-client/core'; * import { JoomlaClient } from '@augur/api-client/services/joomla'; * * const http = new HTTPClient('joomla', { siteId: 'your-site-id', bearerToken: 'your-token' }); * const joomla = new JoomlaClient(http); * * // OpenAPI Path Mirroring: /content GET -> client.content.list() * const content = await joomla.content.list({ limit: 10 }); * * // OpenAPI Path Mirroring: /users/verify-password POST -> client.users.verifyPassword.create() * const auth = await joomla.users.verifyPassword.create({ username: 'user', password: 'pass' }); * ``` */ export class JoomlaClient extends BaseServiceClient { constructor(http, baseUrl = 'https://joomla.augur-api.com') { super('joomla', 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 = createHealthCheckResource(boundExecuteRequest); this.healthCheckData = createHealthCheckDataResource(this.healthCheck); this.ping = createPingResource(boundExecuteRequest); this.healthData = createHealthDataResource(this.healthCheck, this.ping); this.content = createContentResource(boundExecuteRequest); this.contentData = createContentDataResource(this.content); this.menu = createMenuResource(boundExecuteRequest); this.menuData = createMenuDataResource(this.menu); this.tags = createTagsResource(boundExecuteRequest); this.tagsData = createTagsDataResource(this.tags); this.users = createUsersResource(boundExecuteRequest); this.usersData = createUsersDataResource(this.users); this.userGroups = createUserGroupsResource(boundExecuteRequest); this.userGroupsData = createUserGroupsDataResource(this.userGroups); } } //# sourceMappingURL=client.js.map