UNPKG

@reactivehub/cli

Version:
114 lines (90 loc) 3.25 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _opn = require('opn'); var _opn2 = _interopRequireDefault(_opn); var _configstore = require('../libs/configstore'); var _configstore2 = _interopRequireDefault(_configstore); var _messages = require('../messages'); var _messages2 = _interopRequireDefault(_messages); var _api = require('../services/api'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const setAuthToken = token => _configstore2.default.set('rhub-auth-token', token); const setNamespace = namespace => _configstore2.default.set('namespace', namespace); const setEmail = email => _configstore2.default.set('email', email); const setLogged = isLogged => _configstore2.default.set('isLogged', isLogged); const getAuthToken = () => _configstore2.default.get('rhub-auth-token'); const getNamespace = () => _configstore2.default.get('namespace'); const getEmail = () => _configstore2.default.get('email'); const getLogged = () => _configstore2.default.get('isLogged'); const authStatus = () => { const namespace = getNamespace(); const email = getEmail(); const isLogged = getLogged(); if (isLogged) { _messages2.default.info(`Logged in at ${namespace} as ${email}.`); return true; } _messages2.default.info("You're not logged in"); return false; }; const logoffHandler = (() => { var _ref = (0, _asyncToGenerator3.default)(function* () { const isLogged = getLogged(); if (isLogged) { _configstore2.default.clear(); _messages2.default.info("You've logged off"); return true; } _messages2.default.info("You're not logged in"); return false; }); return function logoffHandler() { return _ref.apply(this, arguments); }; })(); const sendLoginEvent = (() => { var _ref2 = (0, _asyncToGenerator3.default)(function* ({ namespace, code, email, token, retry = 0 }) { return (0, _api.sendLoginCommand)({ namespace, code, email, token }).catch(function () { const newRetry = retry + 1; if (newRetry <= 5) return sendLoginEvent({ namespace, code, email, token, retry: newRetry }); return false; }); }); return function sendLoginEvent(_x) { return _ref2.apply(this, arguments); }; })(); const authHandler = (() => { var _ref3 = (0, _asyncToGenerator3.default)(function* ({ code, email, namespace } = {}) { const { token, message } = yield (0, _api.issueToken)({ code, namespace, email }); if (message) { _messages2.default.error(message); return false; } setAuthToken(token); setNamespace(namespace); setEmail(email); setLogged(true); authStatus(); yield sendLoginEvent({ namespace, code, email, token }); return true; }); return function authHandler() { return _ref3.apply(this, arguments); }; })(); const openAuth = () => (0, _opn2.default)('http://localhost:7000'); exports.default = { getAuthToken, authHandler, getNamespace, openAuth, authStatus, logoffHandler, getEmail }; //# sourceMappingURL=auth.js.map