log.py 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. from sqlalchemy import Column, Integer, String, Text, DateTime, JSON
  2. from sqlalchemy.sql import func
  3. from app.database import Base
  4. class LoginLog(Base):
  5. __tablename__ = "login_log"
  6. __table_args__ = {'schema': 'aigcspace'}
  7. id = Column(Integer, primary_key=True, index=True)
  8. user_id = Column(String(50), nullable=False, index=True)
  9. username = Column(String(100))
  10. user_type = Column(String(20), nullable=False)
  11. login_result = Column(String(20), nullable=False, index=True)
  12. fail_reason = Column(String(200))
  13. ip_address = Column(String(50))
  14. user_agent = Column(Text)
  15. created_at = Column(DateTime, default=func.now(), index=True)
  16. class APILog(Base):
  17. __tablename__ = "api_log"
  18. __table_args__ = {'schema': 'aigcspace'}
  19. id = Column(Integer, primary_key=True, index=True)
  20. user_id = Column(String(50), index=True)
  21. username = Column(String(100))
  22. api_path = Column(String(500), nullable=False, index=True)
  23. request_method = Column(String(10), nullable=False)
  24. request_params = Column(JSON)
  25. response_status = Column(Integer)
  26. response_time = Column(Integer)
  27. created_at = Column(DateTime, default=func.now(), index=True)