Development

This commit is contained in:
Matthew Grotke 2026-06-10 13:16:28 -04:00
parent 19be151c70
commit f5722f3c7b
8 changed files with 178 additions and 90 deletions

View file

@ -610,72 +610,6 @@ def revert_group_chain(group_uuid):
return errors, succeeded, failed
# Sessions DB =======================================================
def _open_sessions_db():
import sqlite3 as _sq, time as _t
con = _sq.connect(SESSIONS_DB, timeout=5)
con.execute('PRAGMA journal_mode=WAL')
con.executescript('''
CREATE TABLE IF NOT EXISTS sessions (
session_id TEXT PRIMARY KEY,
email TEXT NOT NULL,
access_level TEXT NOT NULL DEFAULT '',
logged_in_at INTEGER NOT NULL,
last_seen INTEGER NOT NULL
);
''')
con.commit()
return con
def record_session_login(session_id, email, access_level):
import time as _t
try:
con = _open_sessions_db()
now = int(_t.time())
con.execute(
'INSERT OR REPLACE INTO sessions(session_id, email, access_level, logged_in_at, last_seen) VALUES(?,?,?,?,?)',
(session_id, email, access_level, now, now)
)
con.commit()
con.close()
except Exception:
pass
def record_session_logout(session_id):
try:
con = _open_sessions_db()
con.execute('DELETE FROM sessions WHERE session_id=?', (session_id,))
con.commit()
con.close()
except Exception:
pass
def record_session_activity(session_id):
import time as _t
try:
con = _open_sessions_db()
con.execute('UPDATE sessions SET last_seen=? WHERE session_id=?', (int(_t.time()), session_id))
con.commit()
con.close()
except Exception:
pass
def get_active_sessions():
import time as _t
cutoff = int(_t.time()) - 31 * 86400
try:
con = _open_sessions_db()
rows = con.execute(
'SELECT email, access_level, logged_in_at, last_seen FROM sessions WHERE last_seen > ? ORDER BY last_seen DESC',
(cutoff,)
).fetchall()
con.close()
return rows
except Exception:
return []
# Misc ==============================================================
def run_apply():