UNPKG

@elucidatainc/pollycli

Version:

pollycli lets users access the functionalities of Polly over a command line interface

106 lines (100 loc) 2.55 kB
const pollymsg = require("./message"); const { workspaceApi } = require('./api-client') const { handleApiError } = require("./helper-functions"); export async function listPollyProjects(type, value) { const requestUrl = '_search' const search_payload = { from: 0, size: 20, sort: [ { created_date: { order: 'desc', }, }, ], query: { bool: { must: [ { nested: { path: 'permissions', query: { match: { 'permissions.user_id': '{user_id}', }, }, }, } ], }, }, } let projectData = []; let workspacesData = {} try { do { workspacesData = await workspaceApi.post(requestUrl, search_payload) projectData = [...projectData, ...workspacesData.data.hits.hits] search_payload.from += search_payload.size if (search_payload.from >= workspacesData.data.hits.total.value) { break } } while (workspacesData.data.hits.hits.length > 0) if (type == "latest" || type == "all") { projectData.sort(function (a, b) { return b._source.id - a._source.id }); } else { projectData.sort(function (a, b) { return a._source.id - b._source.id }); } let data = [["Workspace ID", "Workspace name"]]; for (const project of projectData) { data.push([project._id, project._source.name]) } if (type == "all") { value = 100000; } pollymsg.pollyTable(data, 1, value); } catch (error) { const err_msg = "Not able to get the list of workspaces"; if (error.isAxiosError) { handleApiError(error, err_msg); } pollymsg.pollyError(err_msg); } } export async function createProject(name, description) { const projectUrl = `/workspaces`; const payload = { data: { type: "workspaces", attributes: { name, description, project_property: { type: "workspaces", labels: "", }, }, }, }; try { let projectData = await workspaceApi.post(projectUrl, payload) pollymsg.pollySuccess("Project created"); projectData = projectData.data.data; let data = [ ["Workspace ID", "Workspace name"], [projectData.id, name], ]; pollymsg.pollyTable(data); } catch (error) { const err_msg = "Not able to create the workspace"; if (error.isAxiosError) { handleApiError(error, err_msg); } pollymsg.pollyError(err_msg); } }