unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
41 lines • 1.46 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_session_1 = __importDefault(require("express-session"));
const connect_session_knex_1 = __importDefault(require("connect-session-knex"));
const date_fns_1 = require("date-fns");
function sessionDb(config, knex) {
let store;
const { db, cookieName } = config.session;
const age = (0, date_fns_1.hoursToMilliseconds)(config.session.ttlHours) || (0, date_fns_1.hoursToMilliseconds)(48);
const KnexSessionStore = (0, connect_session_knex_1.default)(express_session_1.default);
if (db) {
store = new KnexSessionStore({
tablename: 'unleash_session',
createtable: false,
knex,
});
}
else {
store = new express_session_1.default.MemoryStore();
}
return (0, express_session_1.default)({
name: cookieName,
rolling: false,
resave: false,
saveUninitialized: false,
store,
secret: [config.server.secret],
cookie: {
path: config.server.baseUriPath === ''
? '/'
: config.server.baseUriPath,
secure: config.secureHeaders,
maxAge: age,
},
});
}
exports.default = sessionDb;
//# sourceMappingURL=session-db.js.map