"""Audit logging helpers."""

from datetime import datetime, timezone
from typing import Optional

from sqlalchemy.orm import Session

from ..models import AdminAudit


def log_action(
    session: Session,
    actor_email: str,
    action: str,
    target: Optional[str] = None,
    metadata: Optional[dict] = None,
) -> None:
    entry = AdminAudit(
        actor_email=actor_email,
        action=action,
        target=target,
        details=metadata or {},
        created_at=datetime.now(timezone.utc),
    )
    session.add(entry)
