UNPKG

forest-cli

Version:

The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.

57 lines 5.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveCommandScope = void 0; const ask_for_environment_1 = __importDefault(require("../ask-for-environment")); const ask_for_team_1 = __importDefault(require("../ask-for-team")); const environment_manager_1 = __importDefault(require("../environment-manager")); const project_manager_1 = __importDefault(require("../project-manager")); const team_manager_1 = __importDefault(require("../team-manager")); const with_current_project_1 = __importDefault(require("../with-current-project")); const scope_resolver_1 = require("./scope-resolver"); /** Resolve the environment to pull: flag → interactive prompt. */ async function resolveEnvironment(config, environments, explicit) { if (explicit) return (0, scope_resolver_1.findByFlag)('Environment', explicit, environments); const types = [...new Set(environments.map(environment => environment.type).filter(Boolean))]; const name = await (0, ask_for_environment_1.default)(config, 'Select the environment to pull the layout from', types); return (0, scope_resolver_1.findByFlag)('Environment', name, environments); } /** Resolve the team to pull: flag → interactive prompt (a secret cannot designate a team). */ async function resolveTeam(config, teams, explicit) { if (explicit) return (0, scope_resolver_1.findByFlag)('Team', explicit, teams); const name = await (0, ask_for_team_1.default)(config, 'Select the team whose layout to pull'); return (0, scope_resolver_1.findByFlag)('Team', name, teams); } /** Resolve the full layout scope for a command run (ids + names). */ async function resolveCommandScope(options) { const { baseEnv, flags } = options; const config = await (0, with_current_project_1.default)({ ...baseEnv, projectId: flags.projectId, }); const project = await new project_manager_1.default(config).getProject(); if (!project) { throw new scope_resolver_1.ScopeError(`Project #${config.projectId} not found, or you cannot access it.`); } const [environments, teams] = await Promise.all([ new environment_manager_1.default(config).listEnvironments(), new team_manager_1.default(config).listForProject(), ]); const environment = await resolveEnvironment(config, environments, flags.env); const team = await resolveTeam(config, teams, flags.team); return { environmentId: Number(environment.id), environmentName: environment.name, projectId: Number(project.id), projectName: project.name, serverUrl: baseEnv.FOREST_SERVER_URL, teamId: Number(team.id), teamName: team.name, }; } exports.resolveCommandScope = resolveCommandScope; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1jb21tYW5kLXNjb3BlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2xheW91dC9yZXNvbHZlLWNvbW1hbmQtc2NvcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZUEsaUZBQXVEO0FBQ3ZELG1FQUF5QztBQUN6QyxpRkFBd0Q7QUFDeEQseUVBQWdEO0FBQ2hELG1FQUEwQztBQUMxQyxtRkFBeUQ7QUFDekQscURBQTBEO0FBTzFELGtFQUFrRTtBQUNsRSxLQUFLLFVBQVUsa0JBQWtCLENBQy9CLE1BQWdFLEVBQ2hFLFlBQXlCLEVBQ3pCLFFBQWlCO0lBRWpCLElBQUksUUFBUTtRQUFFLE9BQU8sSUFBQSwyQkFBVSxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFdkUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RixNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsNkJBQWlCLEVBQ2xDLE1BQU0sRUFDTixnREFBZ0QsRUFDaEQsS0FBSyxDQUNOLENBQUM7SUFFRixPQUFPLElBQUEsMkJBQVUsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCw4RkFBOEY7QUFDOUYsS0FBSyxVQUFVLFdBQVcsQ0FDeEIsTUFBZ0UsRUFDaEUsS0FBa0IsRUFDbEIsUUFBaUI7SUFFakIsSUFBSSxRQUFRO1FBQUUsT0FBTyxJQUFBLDJCQUFVLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV6RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsc0JBQVUsRUFBQyxNQUFNLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztJQUU5RSxPQUFPLElBQUEsMkJBQVUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxxRUFBcUU7QUFDOUQsS0FBSyxVQUFVLG1CQUFtQixDQUN2QyxPQUFtQztJQUVuQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVuQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsOEJBQWtCLEVBQUM7UUFDdEMsR0FBRyxPQUFPO1FBQ1YsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO0tBQzNCLENBQUMsQ0FBQztJQUVILE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSx5QkFBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlELElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixNQUFNLElBQUksMkJBQVUsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxTQUFTLHNDQUFzQyxDQUFDLENBQUM7S0FDMUY7SUFFRCxNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUM5QyxJQUFJLDZCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLGdCQUFnQixFQUFFO1FBQ2pELElBQUksc0JBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUU7S0FDekMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxXQUFXLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxNQUFNLElBQUksR0FBRyxNQUFNLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRCxPQUFPO1FBQ0wsYUFBYSxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3JDLGVBQWUsRUFBRSxXQUFXLENBQUMsSUFBSTtRQUNqQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDN0IsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ3pCLFNBQVMsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1FBQ3BDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFoQ0Qsa0RBZ0NDIn0=