extremum-cli
Version:
Extremum CLI
61 lines (60 loc) • 2.46 kB
JavaScript
;
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;