-- Migration 009: create admin_audit_log table
-- Mirrors every admin action logged to /var/log/xamxam.log.
-- Best-effort: application never fails if this table is absent, but the
-- table must exist for AdminLogger::insertDb() to write audit records.
CREATE TABLE IF NOT EXISTS admin_audit_log (
    id         INTEGER  PRIMARY KEY AUTOINCREMENT,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    ip         TEXT     NOT NULL,
    user_agent TEXT,
    resource   TEXT     NOT NULL,
    action     TEXT     NOT NULL,
    status     TEXT     NOT NULL,
    context    TEXT
);

CREATE INDEX IF NOT EXISTS idx_admin_audit_log_created_at ON admin_audit_log(created_at);
CREATE INDEX IF NOT EXISTS idx_admin_audit_log_resource   ON admin_audit_log(resource);
CREATE INDEX IF NOT EXISTS idx_admin_audit_log_action     ON admin_audit_log(action);
