redux-security
Version:
97 lines (75 loc) • 3.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.configAPISocketServer = undefined;
var _reduxJournal = require('redux-journal');
var _reduxManager = require('redux-manager');
var _config = require('../config');
var _api = require('./api.paths');
var tags = _config.TAGS + '.api.socket.server';
var configAPISocketServer = exports.configAPISocketServer = function configAPISocketServer() {
var _ref = arguments.length <= 0 || arguments[0] === undefined ? { serviceName: _config.SERVICE } : arguments[0];
var io = _ref.io;
var _ref$serviceName = _ref.serviceName;
var serviceName = _ref$serviceName === undefined ? _config.SERVICE : _ref$serviceName;
var api = function api() {
var API = _reduxManager.manager.api.get(serviceName);
if (!API) {
var ERROR = 'manager.api.get(\'' + serviceName + '\') == undefined';
(0, _reduxJournal.error)(ERROR, tags + '.api');
throw new Error(ERROR);
}
return API;
};
var paths = (0, _api.configAPIPaths)(serviceName);
io.on('connection', function (socket) {
(0, _reduxJournal.write)('socket.id = ' + socket.id, tags + '.connection');
socket.on(paths.codeEmail, function (_ref2) {
var sessionID = _ref2.sessionID;
api().codeEmail({ sessionID: sessionID }).then(function () {
socket.emit(paths.codeEmail, {});
}).catch(function (error) {
socket.emit(paths.codeEmail, { error: error.message || error });
});
});
socket.on(paths.codeConfirm, function (_ref3) {
var code = _ref3.code;
api().codeConfirm({ code: code }).then(function () {
socket.emit(paths.codeConfirm, {});
}).catch(function (error) {
socket.emit(paths.codeConfirm, { error: error.message || error });
});
});
socket.on(paths.login, function (_ref4) {
var username = _ref4.username;
var password = _ref4.password;
(0, _reduxJournal.write)('on(' + paths.login + ') receive ({ username = \'' + username + '\', password = \'' + password + '\' })', tags + '.login');
api().login({ username: username, password: password }).then(function (_ref5) {
var sessionID = _ref5.sessionID;
(0, _reduxJournal.write)('on(' + paths.login + ') send ({ sessionID = \'' + sessionID + '\')', tags + '.login.emit');
socket.emit(paths.login, { sessionID: sessionID });
}).catch(function (error) {
socket.emit(paths.login, { error: error.message || error });
});
});
socket.on(paths.logout, function (_ref6) {
var sessionID = _ref6.sessionID;
api().logout({ sessionID: sessionID }).then(function () {
socket.emit(paths.logout, {});
}).catch(function (error) {
socket.emit(paths.logout, { error: error.message || error });
});
});
socket.on(paths.signup, function (_ref7) {
var username = _ref7.username;
var password = _ref7.password;
var email = _ref7.email;
api().signup({ username: username, password: password, email: email }).then(function () {
socket.emit(paths.signup, {});
}).catch(function (error) {
socket.emit(paths.signup, { error: error.message || error });
});
});
});
};