Add maintenance and trip history components, admin session management, and session activity tracking

This commit is contained in:
2026-07-27 21:38:49 +02:00
parent 1218c13660
commit c63d1a641f
16 changed files with 822 additions and 176 deletions
+14
View File
@@ -33,6 +33,18 @@ function ensureSchema() {
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
) STRICT;
CREATE TABLE IF NOT EXISTS user_sessions (
id TEXT PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
user_agent TEXT,
ip_address TEXT,
last_path TEXT,
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_seen_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
expires_at TEXT NOT NULL,
revoked_at TEXT
) STRICT;
CREATE TABLE IF NOT EXISTS motorcycles (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nickname TEXT NOT NULL,
@@ -161,6 +173,8 @@ function ensureSchema() {
ON trips(motorcycle_id, trip_date DESC, id DESC);
CREATE INDEX IF NOT EXISTS idx_motorcycle_shares_user
ON motorcycle_shares(user_id, motorcycle_id);
CREATE INDEX IF NOT EXISTS idx_user_sessions_active
ON user_sessions(user_id, revoked_at, expires_at, last_seen_at DESC);
CREATE INDEX IF NOT EXISTS idx_webauthn_credentials_user
ON webauthn_credentials(user_id);
CREATE INDEX IF NOT EXISTS idx_webauthn_challenges_lookup