UNPKG

zapier-platform-cli

Version:

The CLI for apps in the Zapier Developer Platform.

59 lines (52 loc) 3.22 kB
'use strict'; var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); var colors = require('colors/safe'); var constants = require('../constants'); var utils = require('../utils'); var QUESTION_USERNAME = 'What is your Zapier login email address? (Ctrl-C to cancel)'; var QUESTION_PASSWORD = 'What is your Zapier login password?'; var login = function login(context) { var checks = [utils.readCredentials().then(function () { return true; }).catch(function () { return false; }), utils.checkCredentials().then(function () { return true; }).catch(function () { return false; })]; return Promise.all(checks).then(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), credentialsPresent = _ref2[0], credentialsGood = _ref2[1]; if (!credentialsPresent) { context.line(colors.yellow('Your ' + constants.AUTH_LOCATION + ' has not been set up yet.\n')); } else if (!credentialsGood) { context.line(colors.red('Your ' + constants.AUTH_LOCATION + ' looks like it has invalid credentials.\n')); } else { context.line(colors.green('Your ' + constants.AUTH_LOCATION + ' looks valid. You may update it now though.\n')); } return utils.getInput(QUESTION_USERNAME); }).then(function (username) { return Promise.all([username, utils.getInput(QUESTION_PASSWORD, { secret: true })]); }).then(function (_ref3) { var _ref4 = _slicedToArray(_ref3, 2), username = _ref4[0], password = _ref4[1]; return utils.createCredentials(username, password).then(function (data) { return data.key; }); }).then(function (deployKey) { return utils.writeFile(constants.AUTH_LOCATION, utils.prettyJSONstringify({ deployKey: deployKey })); }).then(utils.checkCredentials).then(function () { context.line('Your deploy key has been saved to ' + constants.AUTH_LOCATION + '. Now try `zapier init .` to start a new local app.'); }); }; login.argsSpec = []; login.argOptsSpec = {}; login.help = 'Configure your `' + constants.AUTH_LOCATION_RAW + '` with a deploy key.'; login.example = 'zapier login'; login.docs = '\nThis is an interactive prompt which will create, retrieve and store a deploy key.\n\n> This will change the `' + constants.AUTH_LOCATION_RAW + '` (home directory identifies the deploy key & user).\n\n' + '```' + 'bash\n$ zapier login\n# ' + QUESTION_USERNAME + '\n# ' + QUESTION_PASSWORD + '\n# <type here>\n# Your deploy key has been saved to ' + constants.AUTH_LOCATION_RAW + '. Now try `zapier init .` to start a new local app.\n' + '```' + '\n'; module.exports = login;