import sqlite3 import os DB_PATH = os.environ.get("DB_PATH", "/data/asianmetal.db") def get_conn(): conn = sqlite3.connect(DB_PATH, timeout=30.0) conn.row_factory = sqlite3.Row return conn def init_db(): with get_conn() as conn: conn.execute(""" CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, username TEXT, email TEXT, phone TEXT, organization TEXT, password_hash TEXT, status TEXT DEFAULT 'approved', created_at TEXT ) """) conn.execute(""" CREATE TABLE IF NOT EXISTS sessions ( token TEXT PRIMARY KEY, user_id INTEGER NOT NULL, created_at TEXT NOT NULL, expires_at TEXT NOT NULL ) """) conn.execute(""" CREATE TABLE IF NOT EXISTS sso_nonces ( jti TEXT PRIMARY KEY, expires_at REAL NOT NULL ) """) conn.execute(""" CREATE TABLE IF NOT EXISTS app_config ( key TEXT PRIMARY KEY, value TEXT ) """) conn.commit() if __name__ == "__main__": init_db()