This commit is contained in:
gru committed 2026-10-03 00:27:09 +01:00
commit 5e23e9af02
240 files changed
+99957

No files matched your search

+36
View File
@@ -0,0 +1,36 @@
-- Additive migration from 0.0.1. The configuration table is never cleared.
CREATE TABLE IF NOT EXISTS configuration (
id INTEGER PRIMARY KEY CHECK (id = 1),
revision INTEGER NOT NULL CHECK (revision >= 0),
document TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS administrator (
id INTEGER PRIMARY KEY CHECK (id = 1),
username TEXT NOT NULL UNIQUE,
password_hash TEXT NOT NULL,
generation INTEGER NOT NULL DEFAULT 1 CHECK (generation > 0),
created_at INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS admin_sessions (
token_hash TEXT PRIMARY KEY CHECK (length(token_hash) = 64),
csrf_token TEXT NOT NULL CHECK (length(csrf_token) = 64),
generation INTEGER NOT NULL,
created_at INTEGER NOT NULL,
last_seen INTEGER NOT NULL,
expires_at INTEGER NOT NULL,
kind TEXT NOT NULL CHECK (kind IN ('browser', 'cli'))
);
CREATE INDEX IF NOT EXISTS admin_sessions_expiry ON admin_sessions(expires_at);
CREATE TABLE IF NOT EXISTS admin_audit (
id INTEGER PRIMARY KEY AUTOINCREMENT,
time INTEGER NOT NULL,
actor TEXT NOT NULL,
action TEXT NOT NULL,
detail TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS auth_throttle (
id INTEGER PRIMARY KEY CHECK (id = 1),
window_start INTEGER NOT NULL DEFAULT 0,
attempts INTEGER NOT NULL DEFAULT 0
);
INSERT OR IGNORE INTO auth_throttle(id) VALUES(1);