import * as asana from 'asana' export class AsanaApi { private _client: asana.Client public constructor(apiToken: string) { this._client = asana.Client.create({ defaultHeaders: { 'Asana-Enable': 'new_goal_memberships,new_user_task_lists', }, }).useAccessToken(apiToken) } public async createTask( task: asana.resources.Tasks.CreateParams & { workspace: string } ): Promise { return await this._client.tasks.create(task) } public async updateTask( taskId: string, task: asana.resources.Tasks.UpdateParams ): Promise { return await this._client.tasks.update(taskId, task) } public async addCommentToTask(taskId: string, comment: string): Promise { return await this._client.tasks.addComment(taskId, { text: comment }) } public async findUser(userEmail: string): Promise { return await this._client.users.findById(userEmail) } public async findAllUsers(workspace: string): Promise { const users = await this._client.users.findAll({ workspace }) return users.data as asana.resources.Users.Type[] } }