lamassu-server/packages/server/lib/new-admin/middlewares/cleanUserSessions.js
2025-05-12 15:35:00 +01:00

25 lines
634 B
JavaScript

const db = require('../../db')
const { USER_SESSIONS_TABLE_NAME } = require('../../constants')
const logger = require('../../logger')
let schemaCache = Date.now()
const cleanUserSessions = cleanInterval => (req, res, next) => {
const now = Date.now()
if (schemaCache + cleanInterval > now) return next()
logger.debug(`Clearing expired sessions for schema 'public'`)
return db
.none('DELETE FROM $1^ WHERE expire < to_timestamp($2 / 1000.0)', [
USER_SESSIONS_TABLE_NAME,
now,
])
.then(() => {
schemaCache = now
return next()
})
.catch(next)
}
module.exports = cleanUserSessions