UNPKG

genezio

Version:

Command line utility to interact with Genezio infrastructure.

48 lines (47 loc) 1.65 kB
import axios from "./axios.js"; import { getAuthToken } from "../utils/accounts.js"; import { BACKEND_ENDPOINT } from "../constants.js"; import version from "../utils/version.js"; import { GENEZIO_NOT_AUTH_ERROR_MSG, UserError } from "../errors.js"; export default async function getProjectInfoByName(projectName) { const authToken = await getAuthToken(); if (!authToken) { throw new UserError(GENEZIO_NOT_AUTH_ERROR_MSG); } const response = await axios({ method: "GET", url: `${BACKEND_ENDPOINT}/projects/name/${projectName}`, headers: { Authorization: `Bearer ${authToken}`, "Accept-Version": `genezio-cli/${version}`, }, }); return response.data.project; } export async function getProjectInfoByNameIfExits(projectName) { let projectInfo; try { projectInfo = await getProjectInfoByName(projectName); } catch (e) { /* empty */ } return projectInfo; } export async function getProjectEnvFromProjectByName(projectName, stageName) { let completeProjectInfo; try { completeProjectInfo = await getProjectInfoByName(projectName); } catch (e) { /* empty */ } if (completeProjectInfo != undefined) { const projectEnv = completeProjectInfo.projectEnvs.find((projectEnv) => projectEnv.name == stageName); if (!projectEnv) { throw new UserError(`Stage ${stageName} not found in project ${projectName}. Please run 'genezio deploy --stage ${stageName}' to deploy your project to a new stage.`); } return projectEnv; } return undefined; }