UNPKG

@actonate/mirkwood

Version:

GraphQL based Rapid Server-side Development framework

54 lines (36 loc) 1.94 kB
'use strict'; 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;