Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
touchto-core / dist / session.js
Size: Mime:
'use strict';

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _config = require('config');

var _config2 = _interopRequireDefault(_config);

var _express = require('express');

var _express2 = _interopRequireDefault(_express);

var _expressSession = require('express-session');

var _expressSession2 = _interopRequireDefault(_expressSession);

var _passport = require('passport');

var _passport2 = _interopRequireDefault(_passport);

var _connectFlash = require('connect-flash');

var _connectFlash2 = _interopRequireDefault(_connectFlash);

var _debug = require('debug');

var _debug2 = _interopRequireDefault(_debug);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var debug = (0, _debug2.default)('touchto:sendmail');

var router = _express2.default.Router({
    caseSensitive: true,
    strict: true
});

var domain = _config2.default.has('session.domain') ? _config2.default.get('session.domain') : '.touchto.io';
var secure = _config2.default.has('session.cookie secure') ? _config2.default.get('session.cookie secure') : undefined;
var secret = _config2.default.has('session.secret') ? _config2.default.get('session.secret') : 'touchto-rocks';
var name = _config2.default.has('session.name') ? _config2.default.get('session.name') : 'tt.sid';
var store = void 0;

var initialize = function initialize() {
    debug('session layer');
    router.use((0, _expressSession2.default)({
        name: name,
        secret: secret,
        store: store,
        saveUninitialized: true,
        resave: true,
        cookie: {
            path: '/',
            http: true,
            secure: secure,
            domain: domain,
            maxAge: (+new Date() + 12000000) / 1000
        }
    }));
    router.use(_passport2.default.initialize());
    router.use(_passport2.default.session());
    router.use((0, _connectFlash2.default)());
};

/* eslint-disable global-require */
if (_config2.default.has('session.store') && _config2.default.get('session.store') === 'connect-mongo') {
    var mongoose = require('mongoose');
    mongoose.Promise = require('bluebird');
    var MongoStore = require('connect-mongo')(_expressSession2.default);
    store = new MongoStore({
        mongooseConnection: mongoose.connection
    });
}

initialize();

exports.default = router;
module.exports = exports['default'];