UNPKG

@launchql/cli

Version:
69 lines (66 loc) 2.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../utils"); const add_1 = __importDefault(require("./admin-users/add")); const bootstrap_1 = __importDefault(require("./admin-users/bootstrap")); const remove_1 = __importDefault(require("./admin-users/remove")); const subcommandMap = { add: add_1.default, bootstrap: bootstrap_1.default, remove: remove_1.default }; const adminUsersUsageText = ` LaunchQL Admin Users Commands: lql admin-users bootstrap Initialize LaunchQL roles and permissions (must be run first) lql admin-users add Add database users with roles lql admin-users remove Remove database users and revoke roles Options: --help, -h Show this help message --cwd Working directory (default: current directory) `; exports.default = async (argv, prompter, options) => { let { first: subcommand, newArgv } = (0, utils_1.extractFirst)(argv); // Prompt if no subcommand provided if (!subcommand) { // Show usage if explicitly requested and no subcommand provided if (argv.help || argv.h) { console.log(adminUsersUsageText); process.exit(0); } const answer = await prompter.prompt(argv, [ { type: 'autocomplete', name: 'subcommand', message: 'What admin users operation do you want to perform?', options: Object.keys(subcommandMap).map(cmd => ({ name: cmd, value: cmd, description: getSubcommandDescription(cmd) })) } ]); subcommand = answer.subcommand; } if (subcommand === 'help') { console.log(adminUsersUsageText); process.exit(0); } const subcommandFn = subcommandMap[subcommand]; if (!subcommandFn) { console.error(`Unknown admin-users subcommand: ${subcommand}`); console.log(adminUsersUsageText); process.exit(1); } await subcommandFn(newArgv, prompter, options); }; function getSubcommandDescription(cmd) { const descriptions = { bootstrap: 'Initialize LaunchQL roles and permissions (must be run first)', add: 'Add database users with roles', remove: 'Remove database users and revoke roles' }; return descriptions[cmd] || ''; }