UNPKG

clickup_api

Version:

No oficial module for ClickUp API

142 lines (139 loc) 3.71 kB
const Requests = require("../utils/requests"); const genParams = require("../utils/params"); var TaskCheckList = function (token, request) { this.token = token; this.request = request; }; /** * Add a new checklist to a task. * @param {String} task_id Task ID for the new checklist * @param {JSON} param Parameters for checklist * @param {JSON} data Object for new checklist */ TaskCheckList.prototype.create_checklist = function (task_id, params, data) { var token = this.token; var request = this.request; return new Promise(async function (resolve, reject) { try { let param = genParams(params, ["task_id"], ["task_id"]); var res = await request.https_clickupapi_post( `/api/v2/task/${task_id}/checklist${param}`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Rename a task checklist, or reorder a checklist so it appears above or below other checklists on a task * @param {String} checklist_id Checklist ID to be updated * @param {JSON} data Object for the update Checklist */ TaskCheckList.prototype.edit_checklist = function (checklist_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/checklist/${checklist_id}`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Delete a checklist from a task. * @param {String} checklist_id Checklist to be deleted */ TaskCheckList.prototype.delete_checklist = function (checklist_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/checklist/${checklist_id}`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Add a line item to a task checklist. * @param {String} checklist_id Checklist ID for the new item * @param {JSON} data Object with information for the new item */ TaskCheckList.prototype.create_checklist_item = function (checklist_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/checklist/${checklist_id}/checklist_item`, data ); resolve(res); } catch (err) { reject(err); } }); }; /** * Update an individual line item in a task checklist. * @param {String} checklist_id Task ID of reciver link * @param {String} checklist_item_id * @param {JSON} data Parameters for link */ TaskCheckList.prototype.edit_checklist_item = function ( checklist_id, checklist_item_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/checklist/${checklist_id}/checklist_item/${checklist_item_id}`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Delete a line item from a task checklist. * @param {String} checklist_id Checklist where the item are * @param {String} checklist_item_id Checklist item do be deleted */ TaskCheckList.prototype.delete_checklist_item = function ( checklist_id, checklist_item_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/checklist/${checklist_id}/checklist_item/${checklist_item_id}`, token ); resolve(res); } catch (err) { reject(err); } }); }; module.exports = TaskCheckList;