Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 46x 46x 46x 64x 64x 64x 64x 64x 64x 46x | import { Knex } from 'knex'; import session from 'express-session'; import knexSessionStore from 'connect-session-knex'; import { RequestHandler } from 'express'; import { IUnleashConfig } from '../types/option'; import { hoursToMilliseconds } from 'date-fns'; function sessionDb( config: Pick<IUnleashConfig, 'session' | 'server' | 'secureHeaders'>, knex: Knex, ): RequestHandler { let store; const { db } = config.session; const age = hoursToMilliseconds(config.session.ttlHours) || hoursToMilliseconds(48); const KnexSessionStore = knexSessionStore(session); Iif (db) { store = new KnexSessionStore({ tablename: 'unleash_session', createtable: false, // @ts-ignore knex, }); } else { store = new session.MemoryStore(); } return session({ name: 'unleash-session', rolling: false, resave: false, saveUninitialized: false, store, secret: [config.server.secret], cookie: { path: config.server.baseUriPath === '' ? '/' : config.server.baseUriPath, secure: config.secureHeaders, maxAge: age, }, }); } export default sessionDb; |