UNPKG

redux-security

Version:
89 lines (68 loc) 2.42 kB
'use strict'; 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 }; };