v12.0.0 - initial commit
This commit is contained in:
commit
e2c49ea43c
1145 changed files with 97211 additions and 0 deletions
49
packages/server/lib/session-manager.js
Normal file
49
packages/server/lib/session-manager.js
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
const db = require('./db')
|
||||
|
||||
function getSessions() {
|
||||
const sql = `SELECT * FROM user_sessions ORDER BY sess -> 'user' ->> 'username'`
|
||||
return db.any(sql)
|
||||
}
|
||||
|
||||
function getLastSessionPerUser() {
|
||||
const sql = `SELECT b.username, a.user_agent, a.ip_address, a.last_used, b.role FROM (
|
||||
SELECT sess -> 'user' ->> 'username' AS username,
|
||||
sess ->> 'ua' AS user_agent,
|
||||
sess ->> 'ipAddress' AS ip_address,
|
||||
sess ->> 'lastUsed' AS last_used
|
||||
FROM user_sessions
|
||||
) a RIGHT JOIN (
|
||||
SELECT DISTINCT ON (username)
|
||||
username, role
|
||||
FROM users) b ON a.username = b.username`
|
||||
return db.any(sql)
|
||||
}
|
||||
|
||||
function getSessionsByUsername(username) {
|
||||
const sql = `SELECT * FROM user_sessions WHERE sess -> 'user' ->> 'username'=$1`
|
||||
return db.any(sql, [username])
|
||||
}
|
||||
|
||||
function getSessionById(sessionID) {
|
||||
const sql = `SELECT * FROM user_sessions WHERE sid=$1`
|
||||
return db.any(sql, [sessionID])
|
||||
}
|
||||
|
||||
function deleteSessionsByUsername(username) {
|
||||
const sql = `DELETE FROM user_sessions WHERE sess -> 'user' ->> 'username'=$1`
|
||||
return db.none(sql, [username])
|
||||
}
|
||||
|
||||
function deleteSessionById(sessionID) {
|
||||
const sql = `DELETE FROM user_sessions WHERE sid=$1`
|
||||
return db.none(sql, [sessionID])
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getSessions,
|
||||
getLastSessionPerUser,
|
||||
getSessionsByUsername,
|
||||
getSessionById,
|
||||
deleteSessionsByUsername,
|
||||
deleteSessionById,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue