@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
62 lines • 2.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Basecamp2Client = void 0;
const base_client_1 = require("../../core/base-client");
const resources_1 = require("./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
* });
* ```
*/
class Basecamp2Client extends base_client_1.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 = (0, resources_1.createHealthCheckResource)(boundExecuteRequest);
this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck);
this.todos = (0, resources_1.createTodosResource)(boundExecuteRequest);
this.todosData = (0, resources_1.createTodosDataResource)(this.todos);
this.todosSummary = (0, resources_1.createTodosSummaryResource)(boundExecuteRequest);
this.todosSummaryData = (0, resources_1.createTodosSummaryDataResource)(this.todosSummary);
}
getServiceDescription() {
return 'Basecamp2 integration service for project management todos and summaries';
}
}
exports.Basecamp2Client = Basecamp2Client;
//# sourceMappingURL=client.js.map