Some checks failed
Deploy Development / deploy (push) Successful in 38s
Test Suite / pytest-backend (push) Failing after 7s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
750 B
Python
31 lines
750 B
Python
"""Minimal audit logging for critical auth actions (AP0.2)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import json
|
|
from typing import Any, Optional
|
|
|
|
from db import get_connection
|
|
|
|
|
|
def log_audit(
|
|
action: str,
|
|
*,
|
|
user_id: Optional[str] = None,
|
|
tenant_id: Optional[str] = None,
|
|
details: Optional[dict[str, Any]] = None,
|
|
) -> None:
|
|
conn = get_connection()
|
|
try:
|
|
with conn.cursor() as cur:
|
|
cur.execute(
|
|
"""
|
|
INSERT INTO audit_log (action, user_id, tenant_id, details)
|
|
VALUES (%s, %s, %s, %s::jsonb)
|
|
""",
|
|
(action, user_id, tenant_id, json.dumps(details or {})),
|
|
)
|
|
conn.commit()
|
|
finally:
|
|
conn.close()
|