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