api_log.py 1.2 KB

123456789101112131415161718192021222324
  1. """
  2. API日志模型
  3. """
  4. from sqlalchemy import Column, BigInteger, Integer, String, DateTime, Text, ForeignKey, SmallInteger
  5. from app.database import Base
  6. class APILog(Base):
  7. """API日志表"""
  8. __tablename__ = "api_logs"
  9. id = Column(BigInteger, primary_key=True, index=True, comment="主键ID")
  10. user_id = Column(Integer, ForeignKey("users.id"), index=True, comment="用户ID")
  11. admin_id = Column(Integer, ForeignKey("admins.id"), index=True, nullable=True, comment="管理员ID(管理端操作记录)")
  12. endpoint = Column(String(500), nullable=False, index=True, comment="接口路径")
  13. method = Column(String(10), nullable=False, index=True, comment="HTTP方法")
  14. request_data = Column(Text, comment="请求数据")
  15. response_data = Column(Text, comment="响应数据")
  16. ip_address = Column(String(50), index=True, comment="IP地址")
  17. user_agent = Column(String(500), comment="用户代理")
  18. response_code = Column(Integer, index=True, comment="响应状态码")
  19. execution_time = Column(Integer, comment="执行时间(毫秒)")
  20. is_deleted = Column(SmallInteger, default=0, index=True, comment="是否删除:0-否,1-是")
  21. created_at = Column(DateTime, index=True, comment="创建时间")