redux-security
Version:
100 lines (80 loc) • 3.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.configAPILocal = undefined;
var _bluebird = require('bluebird');
var _bluebird2 = _interopRequireDefault(_bluebird);
var _reduxJournal = require('redux-journal');
var _reduxManager = require('redux-manager');
var _config = require('../config');
var _config2 = require('../../sessions/config');
var _config3 = require('../../users/config');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var tags = _config.TAGS + '.api.local';
var sendFake = function sendFake(_ref) {
var email = _ref.email;
var code = _ref.code;
return _bluebird2.default.try(function () {
console.log('Fake send to ' + email + ' code ' + code);
});
};
var configAPILocal = exports.configAPILocal = function configAPILocal() {
var _ref2 = arguments.length <= 0 || arguments[0] === undefined ? { serviceSessions: _config2.SERVICE, serviceUsers: _config3.SERVICE, send: sendFake } : arguments[0];
var _ref2$serviceSessions = _ref2.serviceSessions;
var serviceSessions = _ref2$serviceSessions === undefined ? _config2.SERVICE : _ref2$serviceSessions;
var _ref2$serviceUsers = _ref2.serviceUsers;
var serviceUsers = _ref2$serviceUsers === undefined ? _config3.SERVICE : _ref2$serviceUsers;
var _ref2$send = _ref2.send;
var send = _ref2$send === undefined ? sendFake : _ref2$send;
var apiSessions = function apiSessions() {
return _reduxManager.manager.api.get(serviceSessions);
};
var apiUsers = function apiUsers() {
return _reduxManager.manager.api.get(serviceUsers);
};
var codeConfirm = function codeConfirm(_ref3) {
var code = _ref3.code;
return apiUsers().getByCode({ code: code }).then(function (user) {
return apiUsers().confirmEmail({ userID: user._id });
});
};
var codeEmail = function codeEmail(_ref4) {
var sessionID = _ref4.sessionID;
return apiSessions().get({ sessionID: sessionID }).then(function (session) {
return apiUsers().get({ userID: session.userID });
}).then(function (user) {
return apiUsers().codeGenerate({ userID: user._id }).then(function (_ref5) {
var code = _ref5.code;
return send({ email: user.email, code: code });
});
});
};
var login = function login(_ref6) {
var username = _ref6.username;
var password = _ref6.password;
return apiUsers().check({ username: username, password: password }).then(function (_ref7) {
var userID = _ref7.userID;
return apiSessions().create({ userID: userID });
});
};
var logout = function logout(_ref8) {
var sessionID = _ref8.sessionID;
return apiSessions().remove({ _id: sessionID });
};
var signup = function signup(_ref9) {
var username = _ref9.username;
var password = _ref9.password;
var email = _ref9.email;
return apiUsers().create({ username: username, password: password, email: email }).then(function (_ref10) {
var userID = _ref10.userID;
return apiUsers().codeGenerate({ userID: userID });
}).then(function (_ref11) {
var code = _ref11.code;
return send({ email: email, code: code });
});
};
return {
codeEmail: codeEmail, codeConfirm: codeConfirm, login: login, logout: logout, signup: signup
};
};