gateway_request_audit.py 1.0 KB

12345678910111213141516171819
  1. from core_db import AuditMixin, Base, EntityMixin
  2. from sqlalchemy import Integer, String, Text
  3. from sqlalchemy.orm import Mapped, mapped_column
  4. class GatewayRequestAudit(EntityMixin, AuditMixin, Base):
  5. __tablename__ = "gateway_request_audit"
  6. request_id: Mapped[str] = mapped_column(String(64), index=True)
  7. method: Mapped[str] = mapped_column(String(16))
  8. path: Mapped[str] = mapped_column(String(512), index=True)
  9. query_string: Mapped[str | None] = mapped_column(Text, nullable=True)
  10. target_service: Mapped[str | None] = mapped_column(String(64), nullable=True, index=True)
  11. target_url: Mapped[str | None] = mapped_column(String(1024), nullable=True)
  12. status_code: Mapped[int | None] = mapped_column(Integer, nullable=True, index=True)
  13. duration_ms: Mapped[int] = mapped_column(Integer)
  14. client_host: Mapped[str | None] = mapped_column(String(128), nullable=True)
  15. user_agent: Mapped[str | None] = mapped_column(String(512), nullable=True)
  16. error_message: Mapped[str | None] = mapped_column(Text, nullable=True)