unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
36 lines • 1.07 kB
JavaScript
import session from 'express-session';
import { ConnectSessionKnexStore } from 'connect-session-knex';
import { hoursToMilliseconds } from 'date-fns';
function sessionDb(config, knex) {
let store;
const { db, cookieName } = config.session;
const age = hoursToMilliseconds(config.session.ttlHours) || hoursToMilliseconds(48);
if (db) {
store = new ConnectSessionKnexStore({
tableName: 'unleash_session',
createTable: false,
knex,
});
}
else {
store = new session.MemoryStore();
}
return session({
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,
sameSite: 'lax',
},
});
}
export default sessionDb;
//# sourceMappingURL=session-db.js.map