UNPKG

extremum-cli

Version:
61 lines (60 loc) 2.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var commander_1 = require("commander"); var helpers_1 = require("../../helpers"); var extremum_client_1 = __importDefault(require("../../extremum-client")); // E.g: user create John --email john@mail.ru --roles=admin,user var createUser = function (name, cmd) { var roles = cmd.roles.split(','); var user = { name: name, email: cmd.email, roles: roles }; return (0, extremum_client_1.default)().management.iam.users.create(user); }; var updateUser = function (user_id, cmd) { var payload = (0, helpers_1.safeParseJson)(cmd.data); return (0, extremum_client_1.default)().management.iam.users.update(user_id, payload); }; var listUsers = function () { return (0, extremum_client_1.default)().management.iam.users.list(helpers_1.LIST_OPTIONS); }; var getUser = function (username) { return (0, extremum_client_1.default)().management.iam.users.get(username); }; var removeUser = function (username) { return (0, extremum_client_1.default)().management.iam.users.remove(username); }; var changeUserPassword = function (username, cmd) { var body = { password: cmd.new, }; return (0, extremum_client_1.default)().management.iam.users.changePassword(username, body); }; var users = new commander_1.Command('users').description('manage users'); users .command('create <user_name>') .requiredOption('--email <user-email>') .requiredOption('--roles <user-roles>') .description('create a user') .action((0, helpers_1.actionRunner)(createUser)); users .command('update <username>') .requiredOption('--data <patch>', 'JSON patch') .description('update a user') .action((0, helpers_1.actionRunner)(updateUser)); users.command('ls').description('list users').action((0, helpers_1.actionRunner)(listUsers)); users .command('get <username>') .description('get user info') .action((0, helpers_1.actionRunner)(getUser)); users .command('remove <username>') .description('remove a user') .action((0, helpers_1.actionRunner)(removeUser)); users .command('password <username>') .requiredOption('--new <new-password>') .description('change user password') .action((0, helpers_1.actionRunner)(changeUserPassword)); exports.default = users;