@actonate/mirkwood
Version:
GraphQL based Rapid Server-side Development framework
54 lines (36 loc) • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _sessionFileStore = require('session-file-store');
var _sessionFileStore2 = _interopRequireDefault(_sessionFileStore);
var _connectRedis = require('connect-redis');
var _connectRedis2 = _interopRequireDefault(_connectRedis);
var _expressSession = require('express-session');
var _expressSession2 = _interopRequireDefault(_expressSession);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var SessionStore = function SessionStore(_ref) {
var config = _ref.config,
connection = _ref.connection;
_classCallCheck(this, SessionStore);
var sessionConOptions = _extends({
resave: false, // wont resave every change
saveUninitialized: false }, config[connection || process.env['NODE_ENV'] || 'development']);
if (sessionConOptions.store === 'redis') {
var redisStoreInstance = (0, _connectRedis2.default)(_expressSession2.default);
var redisConnection = sessionConOptions.connection || {
host: 'localhost',
port: '6379'
};
sessionConOptions.store = new redisStoreInstance(redisConnection);
} else if (sessionConOptions.store === 'file' || !sessionConOptions.store) {
var fileStoreInstance = (0, _sessionFileStore2.default)(_expressSession2.default);
sessionConOptions.store = new fileStoreInstance({
path: sessionConOptions.path || './tmp/sessions'
});
}
return sessionConOptions;
};
exports.default = SessionStore;