UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

52 lines 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findOrWriteProjectJsonFileComponent = void 0; const alwayscli_1 = require("@alwaysai/alwayscli"); const project_select_component_1 = require("./project-select-component"); const constants_1 = require("../../constants"); const util_1 = require("../../util"); const project_1 = require("../../core/project"); const config_file_exists_and_is_valid_1 = require("../../util/config-file-exists-and-is-valid"); const paths_1 = require("../../paths"); const WRITE_MESSAGE = `Write ${paths_1.PROJECT_JSON_FILE_NAME}`; async function findOrWriteProjectJsonFileComponent(props) { var _a; const { yes } = props; const projectJsonFile = (0, project_1.ProjectJsonFile)(); if (await (0, config_file_exists_and_is_valid_1.checkConfigFileExistsAndValid)(projectJsonFile)) { const storedProjectUuid = projectJsonFile.read().project.id; const projectUuid = (_a = props.projectUuid) !== null && _a !== void 0 ? _a : storedProjectUuid; await (0, project_1.requireUserIsCollaboratorOnProject)(projectUuid); if (projectUuid !== storedProjectUuid) { const project = await (0, project_select_component_1.projectSelectComponent)({ yes: true, projectUuid }); await writeProjectJsonFile(projectUuid, project.name.toString()); } } else { const { projectUuid } = props; const project = await (0, project_select_component_1.projectSelectComponent)({ yes, projectUuid }); if (!project.uuid) { throw new alwayscli_1.CliTerseError(`Invalid project! ${constants_1.PLEASE_REPORT_THIS_ERROR_MESSAGE}`); } await writeProjectJsonFile(project.uuid.toString(), project.name.toString()); } } exports.findOrWriteProjectJsonFileComponent = findOrWriteProjectJsonFileComponent; async function writeProjectJsonFile(projectUuid, projectName) { const projectJsonFile = (0, project_1.ProjectJsonFile)(); const spinner = (0, util_1.Spinner)(WRITE_MESSAGE); try { projectJsonFile.write({ project: { id: projectUuid, name: projectName } }); spinner.succeed(); } catch (exception) { spinner.fail(); throw exception; } } //# sourceMappingURL=find-or-write-project-json-file.js.map