UNPKG

clickup_api

Version:

No oficial module for ClickUp API

263 lines (258 loc) 6.02 kB
const Requests = require("../utils/requests"); var Views = function (token, request) { this.token = token; this.request = request; }; /** * Create a view for team * @param {String} team_id Team ID where the view be created * @param {JSON} data Body request for create a view */ Views.prototype.create_team_view = function (team_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/team/${team_id}/view`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Create a view for team * Alias from new version(create_team_view) to older(get_team_view) * @param {String} team_id Team ID where the view be created * @param {JSON} data Body request for create a view */ Views.prototype.create_workspace_view = Views.prototype.create_team_view; /** * Create a view for space * @param {String} space_id Space ID where the view be created * @param {JSON} data Body request for create a view */ Views.prototype.create_space_view = function (space_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/space/${space_id}/view`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Create a view for folder * @param {String} folder_id Folder ID where the view be created * @param {JSON} data Body request for create a view */ Views.prototype.create_folder_view = function (folder_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/folder/${folder_id}/view`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Create a view for list * @param {String} list_id List ID where the view be created * @param {JSON} data Body request for create a view */ Views.prototype.create_list_view = 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}/view`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Update a view * @param {String} view_id View ID to be updated * @param {JSON} data Body request for update a view */ Views.prototype.update_view = 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_put( `/api/v2/view/${view_id}`, data, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Delete a view * @param {String} view_id View ID to be deleted */ Views.prototype.delete_view = 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_delete( `/api/v2/view/${view_id}`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Get view from team * @param {String} team_id Team ID */ Views.prototype.get_team_view = function (team_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/team/${team_id}/view`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Get view from team * Alias from new version (get_workspace_view) to older (get_team_view) * @param {String} team_id Team ID */ Views.prototype.get_workspace_view = Views.prototype.get_team_view; /** * Get view from space * @param {String} space_id Space ID */ Views.prototype.get_space_view = function (space_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/space/${space_id}/view`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Get view from folder * @param {String} folder_id Folder ID */ Views.prototype.get_folder_view = function (folder_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/folder/${folder_id}/view`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Get view from list * @param {String} list_id List ID */ Views.prototype.get_list_view = 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}/view`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Get info about a view * @param {String} view_id View ID */ Views.prototype.get_view = 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}`, token ); resolve(res); } catch (err) { reject(err); } }); }; /** * Get view tasks * @param {String} view_id View ID * @param {INT} page Index of a page */ Views.prototype.get_view_tasks = function (view_id, page) { 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}/task?page=${page}`, token ); resolve(res); } catch (err) { reject(err); } }); }; module.exports = Views;