UNPKG

@hongkongkiwi/clockify-master-mcp

Version:

Clockify Master MCP - The most comprehensive Model Context Protocol server for Clockify time tracking with full API integration, advanced filtering, and enterprise features

48 lines 2.15 kB
export class TaskService { client; constructor(client) { this.client = client; } async getAllTasks(workspaceId, projectId, options) { return this.client.get(`/workspaces/${workspaceId}/projects/${projectId}/tasks`, options); } async getTaskById(workspaceId, projectId, taskId) { return this.client.get(`/workspaces/${workspaceId}/projects/${projectId}/tasks/${taskId}`); } async createTask(workspaceId, projectId, data) { return this.client.post(`/workspaces/${workspaceId}/projects/${projectId}/tasks`, data); } async updateTask(workspaceId, projectId, taskId, data) { return this.client.put(`/workspaces/${workspaceId}/projects/${projectId}/tasks/${taskId}`, data); } async deleteTask(workspaceId, projectId, taskId) { return this.client.delete(`/workspaces/${workspaceId}/projects/${projectId}/tasks/${taskId}`); } async markTaskAsDone(workspaceId, projectId, taskId) { return this.updateTask(workspaceId, projectId, taskId, { status: 'DONE' }); } async markTaskAsActive(workspaceId, projectId, taskId) { return this.updateTask(workspaceId, projectId, taskId, { status: 'ACTIVE' }); } async findTaskByName(workspaceId, projectId, name) { return this.getAllTasks(workspaceId, projectId, { name }); } async getActiveTasks(workspaceId, projectId) { return this.getAllTasks(workspaceId, projectId, { isActive: true }); } async assignTaskToUsers(workspaceId, projectId, taskId, userIds) { return this.updateTask(workspaceId, projectId, taskId, { assigneeIds: userIds }); } async updateTaskEstimate(workspaceId, projectId, taskId, estimate) { return this.updateTask(workspaceId, projectId, taskId, { estimate }); } async createMultipleTasks(workspaceId, projectId, tasks) { const createdTasks = []; for (const task of tasks) { const created = await this.createTask(workspaceId, projectId, task); createdTasks.push(created); } return createdTasks; } } //# sourceMappingURL=task.service.js.map