redux-security
Version:
89 lines (68 loc) • 2.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.configAPILocal = undefined;
var _bluebird = require('bluebird');
var _bluebird2 = _interopRequireDefault(_bluebird);
var _cuid = require('cuid');
var _cuid2 = _interopRequireDefault(_cuid);
var _reduxJournal = require('redux-journal');
var _reduxManager = require('redux-manager');
var _actions = require('../actions');
var _config = require('../config');
var _select = require('../select');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var tags = _config.TAGS + '.api.local';
var configAPILocal = exports.configAPILocal = function configAPILocal() {
var _ref = arguments.length <= 0 || arguments[0] === undefined ? { serviceName: _config.SERVICE } : arguments[0];
var _ref$serviceName = _ref.serviceName;
var serviceName = _ref$serviceName === undefined ? _config.SERVICE : _ref$serviceName;
var state = function state() {
return _reduxManager.manager.getStore().getState()[serviceName];
};
var create = function create(_ref2) {
var userID = _ref2.userID;
return _bluebird2.default.try(function () {
var sessionID = (0, _cuid2.default)();
insert({ _id: sessionID, userID: userID });
return { sessionID: sessionID };
});
};
var get = function get(_ref3) {
var sessionID = _ref3.sessionID;
return _bluebird2.default.try(function () {
var sessions = (0, _select.select)(state());
var docs = sessions.docs.all();
var session = docs.find(function (doc) {
return doc._id == sessionID;
});
if (session) {
return session;
}
throw new Error('Cannot find session');
});
};
var insert = function insert(payload) {
return _bluebird2.default.try(function () {
_reduxManager.manager.dispatch(_actions.actions.insert(payload), serviceName);
});
};
var remove = function remove(payload) {
return _bluebird2.default.try(function () {
_reduxManager.manager.dispatch(_actions.actions.remove(payload), serviceName);
});
};
var update = function update(payload) {
return _bluebird2.default.try(function () {
_reduxManager.manager.dispatch(_actions.actions.update(payload), serviceName);
});
};
return {
create: create,
get: get,
insert: insert,
remove: remove,
update: update
};
};