UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

30 lines (25 loc) 877 B
import { CliTerseError } from '@alwaysai/alwayscli'; import { CliAuthenticationClient, CliRpcClient } from '../../infrastructure'; export async function validateIsUserProject(props: { project: string }) { const { project } = props; const projectIds = await getUserProjects(); // if user doesn't have access to project, throw error if (!projectIds.includes(project)) { throw new CliTerseError( 'The provided project is not in your list of projects!' ); } } export async function getUserProjects() { const authInfo = await CliAuthenticationClient().getInfo(); const projects = await CliRpcClient().listProjectsUserIsCollaborator({ user_name: authInfo.username }); const projectIds: string[] = []; projects.forEach((project, _) => { if (project.uuid !== null) { projectIds.push(project.uuid); } }); return projectIds; }