UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

43 lines (40 loc) 1.59 kB
import chalk from 'chalk'; import { createLeaf, UsageError } from '@alwaysai/alwayscli'; import { getCurrentUser } from '../../util/cognito-auth'; import { alwaysaiUserEmailCliInput } from '../../cli-inputs/alwaysai-user-email-cli-input'; import { alwaysaiUserPasswordCliInput } from '../../cli-inputs/alwaysai-user-password-cli-input'; import { yesCliInput } from '../../cli-inputs/yes-cli-input'; import { alwaysaiUserPromptedLoginComponent } from '../../components/alwaysai-user-prompted-login-component'; import { RequiredWithYesMessage } from '../../util/required-with-yes-message'; import { alwaysaiUserLoginComponent } from '../../components/alwaysai-user-login-component'; import { echo } from '../../util/echo'; export const userLogin = createLeaf({ name: 'login', description: 'Log in to the alwaysAI Cloud', options: { yes: yesCliInput, email: alwaysaiUserEmailCliInput, password: alwaysaiUserPasswordCliInput, }, async action(_, { yes, email, password }) { if (yes) { if (!email || !password) { throw new UsageError(RequiredWithYesMessage('email', 'password')); } await alwaysaiUserLoginComponent({ alwaysaiUserEmail: email, alwaysaiUserPassword: password, }); } else { const cognitoUser = await getCurrentUser(); if (cognitoUser) { echo(`Already logged in as ${chalk.bold(cognitoUser.getUsername())}`); } else { await alwaysaiUserPromptedLoginComponent({ alwaysaiUserEmail: email, alwaysaiUserPassword: password, }); } } }, });