UNPKG

clickup_api

Version:

No oficial module for ClickUp API

212 lines (209 loc) 5.08 kB
const Requests = require("../utils/requests"); const genParams = require("../utils/params"); var Comments = function (token, request) { this.token = token; this.request = request; }; /** * Comment on a task * @param {String} task_id Tesk ID that will receive comment * @param {JSON} data Body request for the comment */ Comments.prototype.create_task_comment = function (task_id, data) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_post( `/api/v2/task/${task_id}/comment`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Comment on a view * @param {String} view_id View ID that will receive commet * @param {JSON} data Body request for the comment */ Comments.prototype.create_view_comment = function (view_id, data) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_post( `/api/v2/view/${view_id}/comment`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Comment on a list * @param {String} list_id List id that will receive comment * @param {JSON} data Body request for the comment */ Comments.prototype.create_list_comment = function (list_id, data) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_post( `/api/v2/list/${list_id}/comment`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Update a comment * @param {String} comment_id Comment ID of the comment to be updated * @param {JSON} data Body request for the update */ Comments.prototype.update_comment = function (comment_id, data) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_put( `/api/v2/comment/${comment_id}`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Delete a comment * @param {String} comment_id Comment ID to be deleted */ Comments.prototype.delete_comment = function (comment_id) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_delete( `/api/v2/comment/${comment_id}`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * See all comment on a task * @param {String} task_id Task ID of the task to be consult */ Comments.prototype.get_task_comment = function (task_id) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_get( `/api/v2/task/${task_id}/comment`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * See all comment on a view * @param {String} view_id View ID of the task to be consult */ Comments.prototype.get_view_comment = function (view_id) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_get( `/api/v2/view/${view_id}/comment`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * See all comment on a List * @param {String} list_id View ID of the task to be consult */ Comments.prototype.get_list_comment = function (list_id) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_get( `/api/v2/list/${list_id}/comment`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * View comments from a Chat view. * @param {String} view_id View ID of chat * @param {JSON} params Object with query parameters */ Comments.prototype.get_chat_view_comments = function (view_id, params) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { let param = genParams(params, ["view_id"], ["view_id"]); var res = await request.https_clickupapi_get( `/api/v2/view/${view_id}/comment${param}`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Add a new comment to a Chat view. * @param {String} view_id View ID where new commend gona be created * @param {JSON} data Body request for the comment */ Comments.prototype.create_chat_view_comment = function (view_id, data) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { var res = await request.https_clickupapi_post( `/api/v2/task/${view_id}/comment`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; module.exports = Comments;