from __future__ import annotations

from datetime import datetime, timezone

from sqlalchemy import Column, Integer, String, DateTime, JSON

from .license import Base


class AdminAudit(Base):
    __tablename__ = "admin_audit_log"

    id = Column(Integer, primary_key=True)
    actor_email = Column(String(255), nullable=False)
    action = Column(String(100), nullable=False)
    target = Column(String(255), nullable=True)
    details = Column(JSON, default=dict)
    created_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
