populate pages when a new user joins
This commit is contained in:
@@ -45,6 +45,11 @@ CREATE TABLE IF NOT EXISTS invites (
|
|||||||
used_at INTEGER
|
used_at INTEGER
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS settings (
|
||||||
|
key TEXT PRIMARY KEY,
|
||||||
|
value TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
CREATE INDEX IF NOT EXISTS sessions_handle ON sessions(handle);
|
CREATE INDEX IF NOT EXISTS sessions_handle ON sessions(handle);
|
||||||
CREATE INDEX IF NOT EXISTS invites_created_by ON invites(created_by);
|
CREATE INDEX IF NOT EXISTS invites_created_by ON invites(created_by);
|
||||||
"""
|
"""
|
||||||
@@ -149,6 +154,28 @@ def delete_user(db: sqlite3.Connection, handle: str) -> None:
|
|||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
|
||||||
|
def count_users(db: sqlite3.Connection) -> int:
|
||||||
|
"""Return the total number of registered users."""
|
||||||
|
row = db.execute("SELECT COUNT(*) FROM users").fetchone()
|
||||||
|
return row[0] if row else 0
|
||||||
|
|
||||||
|
|
||||||
|
# ── Settings ──────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
def get_setting(db: sqlite3.Connection, key: str) -> Optional[str]:
|
||||||
|
row = db.execute("SELECT value FROM settings WHERE key = ?", (key,)).fetchone()
|
||||||
|
return row["value"] if row else None
|
||||||
|
|
||||||
|
|
||||||
|
def set_setting(db: sqlite3.Connection, key: str, value: str) -> None:
|
||||||
|
db.execute(
|
||||||
|
"INSERT INTO settings (key, value) VALUES (?, ?) "
|
||||||
|
"ON CONFLICT(key) DO UPDATE SET value = excluded.value",
|
||||||
|
(key, value),
|
||||||
|
)
|
||||||
|
db.commit()
|
||||||
|
|
||||||
|
|
||||||
# ── Sessions ──────────────────────────────────────────────────────────────────
|
# ── Sessions ──────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
def create_session(db: sqlite3.Connection, handle: str) -> str:
|
def create_session(db: sqlite3.Connection, handle: str) -> str:
|
||||||
|
|||||||
Reference in New Issue
Block a user