@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
58 lines • 2.23 kB
JavaScript
import { BaseServiceClient } from '../../core/base-client';
import { createHealthCheckResource, createHealthCheckDataResource, createTodosResource, createTodosDataResource, createTodosSummaryResource, createTodosSummaryDataResource, } from './resources';
/**
* Basecamp2 Integration Service Client
*
* Provides access to Basecamp2 todos and todo summaries for project management
* integration. Supports listing, filtering, and retrieving todo items and their
* aggregated summaries.
*
* @service basecamp2
* @domain project-management
*
* @example
* ```typescript
* const client = new Basecamp2Client(httpClient);
*
* // List todos with pagination
* const todos = await client.todos.list({
* 'x-site-id': 'SITE123',
* limit: 10,
* offset: 0
* });
*
* // Get a specific todo
* const todo = await client.todos.get(123, { 'x-site-id': 'SITE123' });
*
* // List todo summaries with filters
* const summaries = await client.todosSummary.list({
* 'x-site-id': 'SITE123',
* processCd: 1
* });
* ```
*/
export class Basecamp2Client extends BaseServiceClient {
/**
* Create a new Basecamp2Client instance
* @param http Configured HTTPClient instance
* @param baseUrl Base URL for the Basecamp2 API (default: https://basecamp2.augur-api.com)
*/
constructor(http, baseUrl) {
super('basecamp2', http, baseUrl || 'https://basecamp2.augur-api.com');
// Bind executeRequest for resource factories
const boundExecuteRequest = (config, params) => {
return this.executeRequest(config, params);
};
// Initialize resources
this.healthCheck = createHealthCheckResource(boundExecuteRequest);
this.healthCheckData = createHealthCheckDataResource(this.healthCheck);
this.todos = createTodosResource(boundExecuteRequest);
this.todosData = createTodosDataResource(this.todos);
this.todosSummary = createTodosSummaryResource(boundExecuteRequest);
this.todosSummaryData = createTodosSummaryDataResource(this.todosSummary);
}
getServiceDescription() {
return 'Basecamp2 integration service for project management todos and summaries';
}
}
//# sourceMappingURL=client.js.map