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 4.48 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const abstract_authenticated_command_1 = __importDefault(require("../../abstract-authenticated-command")); const role_manager_1 = __importDefault(require("../../services/role-manager")); const with_current_project_1 = __importDefault(require("../../services/with-current-project")); class RolesCreateCommand extends abstract_authenticated_command_1.default { constructor(argv, config, plan) { super(argv, config, plan); const { assertPresent, env } = this.context; assertPresent({ env }); this.env = env; } async runAuthenticated() { const { flags } = await this.parse(RolesCreateCommand); const config = await (0, with_current_project_1.default)({ ...this.env, projectId: flags.projectId }); try { const role = await new role_manager_1.default(config).createRole(flags.name, config.projectId); this.logger.info(`Role "${role.name}" created (id: ${role.id}).`); } catch (error) { const { response, status } = error; if (response && status !== 401 && status !== 403 && response.text) { let detail; try { detail = JSON.parse(response.text)?.errors?.[0]?.detail; } catch { // Non-JSON error body: fall through and rethrow the original error. } if (detail) { this.logger.error(detail); this.exit(1); return; } } throw error; } } } exports.default = RolesCreateCommand; RolesCreateCommand.description = 'Create a new role in a project.'; RolesCreateCommand.flags = { name: core_1.Flags.string({ char: 'n', description: 'Name of the role to create.', required: true, }), projectId: core_1.Flags.integer({ char: 'p', description: 'Forest project ID.', }), }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3JvbGVzL2NyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHNDQUFvQztBQUVwQywwR0FBZ0Y7QUFDaEYsK0VBQXNEO0FBQ3RELCtGQUFxRTtBQUVyRSxNQUFxQixrQkFBbUIsU0FBUSx3Q0FBNEI7SUFpQjFFLFlBQVksSUFBYyxFQUFFLE1BQWMsRUFBRSxJQUFLO1FBQy9DLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxhQUFhLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCO1FBQ3BCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsOEJBQWtCLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXJGLElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksc0JBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbkU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FHNUIsQ0FBQztZQUNGLElBQUksUUFBUSxJQUFJLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUNqRSxJQUFJLE1BQU0sQ0FBQztnQkFDWCxJQUFJO29CQUNGLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7aUJBQ3pEO2dCQUFDLE1BQU07b0JBQ04sb0VBQW9FO2lCQUNyRTtnQkFDRCxJQUFJLE1BQU0sRUFBRTtvQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDYixPQUFPO2lCQUNSO2FBQ0Y7WUFDRCxNQUFNLEtBQUssQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7QUFuREgscUNBb0RDO0FBakRpQiw4QkFBVyxHQUFHLGlDQUFpQyxDQUFDO0FBRWhELHdCQUFLLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFlBQUssQ0FBQyxNQUFNLENBQUM7UUFDakIsSUFBSSxFQUFFLEdBQUc7UUFDVCxXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztJQUNGLFNBQVMsRUFBRSxZQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3ZCLElBQUksRUFBRSxHQUFHO1FBQ1QsV0FBVyxFQUFFLG9CQUFvQjtLQUNsQyxDQUFDO0NBQ0gsQ0FBQyJ9