@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
92 lines • 3.37 kB
JavaScript
import { TodoSummaryListParamsSchema, TodoSummaryGetParamsSchema, TodoSummaryResponseSchema, TodoSummaryListResponseSchema, } from '../schemas';
/**
* Creates the todosSummary resource methods
* OpenAPI Path: /todos-summary → todosSummary.*
* @description Methods for managing Basecamp2 todo summaries
*/
export function createTodosSummaryResource(executeRequest) {
return {
/**
* List all todo summaries with pagination and filtering
*
* @fullPath api.basecamp2.todosSummary.list
* @service basecamp2
* @domain project-management
* @dataMethod todosSummaryData.list
* @discoverable true
* @searchTerms ["todos", "summary", "overview", "basecamp", "project stats"]
*
* @param params List parameters including pagination and filters
* @returns Promise<TodoSummaryListResponse> Paginated list of todo summaries
*/
list: async (params) => {
return executeRequest({
method: 'GET',
path: '/todos-summary',
paramsSchema: TodoSummaryListParamsSchema,
responseSchema: TodoSummaryListResponseSchema,
}, params);
},
/**
* Get a specific todo summary by ID
*
* @fullPath api.basecamp2.todosSummary.get
* @service basecamp2
* @domain project-management
* @dataMethod todosSummaryData.get
* @discoverable true
* @searchTerms ["todo", "summary", "get", "details", "basecamp"]
*
* @param id Todo Summary ID
* @param params Request parameters with site ID
* @returns Promise<TodoSummaryResponse> Todo summary details
*/
get: async (id, params) => {
return executeRequest({
method: 'GET',
path: `/todos-summary/${id}`,
paramsSchema: TodoSummaryGetParamsSchema,
responseSchema: TodoSummaryResponseSchema,
}, params);
},
};
}
/**
* Creates the todosSummaryData resource methods (data-only versions)
*/
export function createTodosSummaryDataResource(todosSummary) {
return {
/**
* List todo summaries data without full response metadata
*
* @fullPath api.basecamp2.todosSummaryData.list
* @service basecamp2
* @domain project-management
* @discoverable true
*
* @param params List parameters
* @returns Promise<TodoSummaryData[]> Array of todo summary data objects
*/
list: async (params) => {
const response = await todosSummary.list(params);
return response.data;
},
/**
* Get todo summary data without full response metadata
*
* @fullPath api.basecamp2.todosSummaryData.get
* @service basecamp2
* @domain project-management
* @discoverable true
*
* @param id Todo Summary ID
* @param params Request parameters
* @returns Promise<TodoSummaryData> Todo summary data object
*/
get: async (id, params) => {
const response = await todosSummary.get(id, params);
return response.data;
},
};
}
//# sourceMappingURL=todos-summary.js.map