UNPKG

convex

Version:

Client for the Convex Cloud

68 lines (60 loc) 1.45 kB
import chalk from "chalk"; import { bigBrainAPI } from "./utils.js"; import { Context } from "./context.js"; export type DeploymentType = "dev" | "prod"; export type Project = { id: string; name: string; slug: string; active_instances: number; }; type AdminKey = string; interface AuthorizeArgs { projectSlug: string; teamSlug: string; deploymentType: DeploymentType; } export async function getUrlAndAdminKey( ctx: Context, projectSlug: string, teamSlug: string, deploymentType: DeploymentType ): Promise<{ url: string; adminKey: AdminKey; }> { const authorizeArgs: AuthorizeArgs = { projectSlug, teamSlug, deploymentType, }; const data = await bigBrainAPI( ctx, "POST", "deployment/authorize", authorizeArgs ); const adminKey = data.adminKey; const url = data.url; if (adminKey === undefined || url === undefined) { const msg = "Unknown error during authorization: " + JSON.stringify(data); console.error(chalk.red(msg)); return await ctx.fatalError(1, "network", new Error(msg)); } return { adminKey, url }; } type DevDeployment = { url: string; adminKey: string; }; type DevDeploymentArgs = { projectSlug: string; teamSlug: string; backendVersionOverride?: string; }; export async function getDevDeployment( ctx: Context, args: DevDeploymentArgs ): Promise<DevDeployment> { return await bigBrainAPI(ctx, "PUT", "dev_deployment", args); }