UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

58 lines 2.23 kB
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