UNPKG

@sungly/cognito-cli

Version:

CLI for all Cognito user life cycle management

510 lines (428 loc) 21.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _prompt = require('prompt'); var _prompt2 = _interopRequireDefault(_prompt); var _bluebird = require('bluebird'); var _bluebird2 = _interopRequireDefault(_bluebird); var _config = require('../../config'); var _config2 = _interopRequireDefault(_config); var _services = require('../../services'); var _util = require('../../util'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var UserCmd = function () { function UserCmd() { (0, _classCallCheck3.default)(this, UserCmd); } (0, _createClass3.default)(UserCmd, [{ key: 'createUser', value: function createUser() { var _this = this; _config2.default.requiredAttributeList.push('password'); var requiredAttributes = _config2.default.requiredAttributeList.map(function (attr) { return { name: attr, required: true }; }); _prompt2.default.get(requiredAttributes, function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(err, result) { var username, password, attributes; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: username = result.username ? result.username : result.email; password = result.password; delete result.password; attributes = Object.keys(result).map(function (key) { return { Name: key, Value: result[key] }; }); _context.next = 6; return _services.userService.createUser({ username: username, password: password, attributes: attributes }); case 6: case 'end': return _context.stop(); } } }, _callee, _this); })); return function (_x, _x2) { return _ref.apply(this, arguments); }; }()); } }, { key: 'confirmUserSignup', value: function confirmUserSignup() { var _this2 = this; var requiredAttributes = [{ name: 'username', required: true }, { name: 'code', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(err, result) { var username, code; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: username = result.username, code = result.code; _context2.next = 3; return _services.userService.confirmSignUp({ username: username, code: code }); case 3: case 'end': return _context2.stop(); } } }, _callee2, _this2); })); return function (_x3, _x4) { return _ref2.apply(this, arguments); }; }()); } }, { key: 'resendConfirmationCode', value: function resendConfirmationCode() { var _this3 = this; var requiredAttributes = [{ name: 'username', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(err, result) { var username, res; return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: username = result.username; _context3.next = 3; return _services.userService.resendConfirmationCode({ username: username }); case 3: res = _context3.sent; _util.logger.info(res); case 5: case 'end': return _context3.stop(); } } }, _callee3, _this3); })); return function (_x5, _x6) { return _ref3.apply(this, arguments); }; }()); } }, { key: 'forgotPassword', value: function forgotPassword() { var _this4 = this; var requiredAttributes = [{ name: 'username', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(err, result) { var username; return _regenerator2.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: username = result.username; _context4.next = 3; return _services.userService.forgotPassword({ username: username }); case 3: case 'end': return _context4.stop(); } } }, _callee4, _this4); })); return function (_x7, _x8) { return _ref4.apply(this, arguments); }; }()); } }, { key: 'setUserPassword', value: function setUserPassword() { var _this5 = this; var requiredAttributes = [{ name: 'username', required: true }, { name: 'password', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(err, result) { var username, password; return _regenerator2.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: username = result.username, password = result.password; _context5.next = 3; return _services.userService.setUserPassword({ username: username, newPassword: password }); case 3: case 'end': return _context5.stop(); } } }, _callee5, _this5); })); return function (_x9, _x10) { return _ref5.apply(this, arguments); }; }()); } }, { key: 'getUserProfile', value: function getUserProfile() { var _this6 = this; var requiredAttributes = [{ name: 'username', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(err, result) { var username; return _regenerator2.default.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: username = result.username; _context6.next = 3; return _services.userService.getUserProfile({ username: username }); case 3: case 'end': return _context6.stop(); } } }, _callee6, _this6); })); return function (_x11, _x12) { return _ref6.apply(this, arguments); }; }()); } }, { key: 'verifyUserEmail', value: function verifyUserEmail() { var _this7 = this; var requiredAttributes = [{ name: 'email', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(err, result) { var email; return _regenerator2.default.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: email = result.email; _context7.next = 3; return _services.userService.verifyUserEmail({ username: email }); case 3: case 'end': return _context7.stop(); } } }, _callee7, _this7); })); return function (_x13, _x14) { return _ref7.apply(this, arguments); }; }()); } }, { key: 'disableUser', value: function disableUser() { var _this8 = this; var requiredAttributes = [{ name: 'username', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(err, result) { var username; return _regenerator2.default.wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: username = result.username; _context8.next = 3; return _services.userService.disableUser({ username: username }); case 3: case 'end': return _context8.stop(); } } }, _callee8, _this8); })); return function (_x15, _x16) { return _ref8.apply(this, arguments); }; }()); } }, { key: 'enableUser', value: function enableUser() { var _this9 = this; var requiredAttributes = [{ name: 'username', required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(err, result) { var username; return _regenerator2.default.wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { case 0: username = result.username; _context9.next = 3; return _services.userService.enableUser({ username: username }); case 3: case 'end': return _context9.stop(); } } }, _callee9, _this9); })); return function (_x17, _x18) { return _ref9.apply(this, arguments); }; }()); } }, { key: 'batchDeleteUsers', value: function () { var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12() { var _this10 = this; var requiredAttributes; return _regenerator2.default.wrap(function _callee12$(_context12) { while (1) { switch (_context12.prev = _context12.next) { case 0: requiredAttributes = [{ name: 'Confirmation', description: 'Are you sure you want to delete? yes/no', pattern: /^(?:yes|Yes|no|No)$/, required: true }]; _prompt2.default.get(requiredAttributes, function () { var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(err, result) { var users, results; return _regenerator2.default.wrap(function _callee11$(_context11) { while (1) { switch (_context11.prev = _context11.next) { case 0: if (!(result.Confirmation.toLowerCase() === 'yes')) { _context11.next = 11; break; } users = void 0; case 2: _context11.next = 4; return _services.userService.listUsers(); case 4: results = _context11.sent; users = results.Users.map(function (users) { return users.Username; }); _util.logger.info('Number of users found ' + users.length); _context11.next = 9; return _bluebird2.default.map(users, function () { var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(username) { return _regenerator2.default.wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: _context10.next = 2; return _services.userService.deleteUsers(username); case 2: case 'end': return _context10.stop(); } } }, _callee10, _this10); })); return function (_x21) { return _ref12.apply(this, arguments); }; }(), { concurrency: 3 }); case 9: _util.logger.info('Successfully deleted ' + users.length); case 10: if (users.length !== 0) { _context11.next = 2; break; } case 11: case 'end': return _context11.stop(); } } }, _callee11, _this10); })); return function (_x19, _x20) { return _ref11.apply(this, arguments); }; }()); case 2: case 'end': return _context12.stop(); } } }, _callee12, this); })); function batchDeleteUsers() { return _ref10.apply(this, arguments); } return batchDeleteUsers; }() }]); return UserCmd; }(); exports.default = UserCmd;