UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

52 lines 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JoomlaClient = void 0; const base_client_1 = require("../../core/base-client"); const resources_1 = require("./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' }); * ``` */ class JoomlaClient extends base_client_1.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 = (0, resources_1.createHealthCheckResource)(boundExecuteRequest); this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck); this.ping = (0, resources_1.createPingResource)(boundExecuteRequest); this.healthData = (0, resources_1.createHealthDataResource)(this.healthCheck, this.ping); this.content = (0, resources_1.createContentResource)(boundExecuteRequest); this.contentData = (0, resources_1.createContentDataResource)(this.content); this.menu = (0, resources_1.createMenuResource)(boundExecuteRequest); this.menuData = (0, resources_1.createMenuDataResource)(this.menu); this.tags = (0, resources_1.createTagsResource)(boundExecuteRequest); this.tagsData = (0, resources_1.createTagsDataResource)(this.tags); this.users = (0, resources_1.createUsersResource)(boundExecuteRequest); this.usersData = (0, resources_1.createUsersDataResource)(this.users); this.userGroups = (0, resources_1.createUserGroupsResource)(boundExecuteRequest); this.userGroupsData = (0, resources_1.createUserGroupsDataResource)(this.userGroups); } } exports.JoomlaClient = JoomlaClient; //# sourceMappingURL=client.js.map