UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

96 lines 3.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTodosResource = createTodosResource; exports.createTodosDataResource = createTodosDataResource; const schemas_1 = require("../schemas"); /** * Creates the todos resource methods * OpenAPI Path: /todos → todos.* * @description Methods for managing Basecamp2 todos */ function createTodosResource(executeRequest) { return { /** * List all todos with pagination * * @fullPath api.basecamp2.todos.list * @service basecamp2 * @domain project-management * @dataMethod todosData.list * @discoverable true * @searchTerms ["todos", "tasks", "list", "basecamp", "project management"] * * @param params List parameters including pagination and ordering * @returns Promise<TodoListResponse> Paginated list of todos */ list: async (params) => { return executeRequest({ method: 'GET', path: '/todos', paramsSchema: schemas_1.TodoListParamsSchema, responseSchema: schemas_1.TodoListResponseSchema, }, params); }, /** * Get a specific todo by ID * * @fullPath api.basecamp2.todos.get * @service basecamp2 * @domain project-management * @dataMethod todosData.get * @discoverable true * @searchTerms ["todo", "task", "get", "details", "basecamp"] * * @param id Todo ID * @param params Request parameters with site ID * @returns Promise<TodoResponse> Todo details */ get: async (id, params) => { return executeRequest({ method: 'GET', path: `/todos/${id}`, paramsSchema: schemas_1.TodoGetParamsSchema, responseSchema: schemas_1.TodoResponseSchema, }, params); }, }; } /** * Creates the todosData resource methods (data-only versions) */ function createTodosDataResource(todos) { return { /** * List todos data without full response metadata * * @fullPath api.basecamp2.todosData.list * @service basecamp2 * @domain project-management * @discoverable true * * @param params List parameters * @returns Promise<TodoData[]> Array of todo data objects */ list: async (params) => { const response = await todos.list(params); return response.data; }, /** * Get todo data without full response metadata * * @fullPath api.basecamp2.todosData.get * @service basecamp2 * @domain project-management * @discoverable true * * @param id Todo ID * @param params Request parameters * @returns Promise<TodoData> Todo data object */ get: async (id, params) => { const response = await todos.get(id, params); return response.data; }, }; } //# sourceMappingURL=todos.js.map