@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
52 lines • 2.8 kB
JavaScript
"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