dataclasses.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # -*- coding: utf-8 -*-
  2. import dataclasses
  3. from datetime import datetime
  4. from fastapi import Response
  5. @dataclasses.dataclass
  6. class IpInfo:
  7. ip: str
  8. country: str | None
  9. region: str | None
  10. city: str | None
  11. @dataclasses.dataclass
  12. class UserAgentInfo:
  13. user_agent: str
  14. os: str | None
  15. browser: str | None
  16. device: str | None
  17. @dataclasses.dataclass
  18. class RequestCallNext:
  19. code: str
  20. msg: str
  21. err: Exception | None
  22. response: Response
  23. @dataclasses.dataclass
  24. class AccessToken:
  25. access_token: str
  26. access_token_expire_time: datetime
  27. session_uuid: str
  28. @dataclasses.dataclass
  29. class RefreshToken:
  30. refresh_token: str
  31. refresh_token_expire_time: datetime
  32. @dataclasses.dataclass
  33. class NewToken:
  34. new_access_token: str
  35. new_access_token_expire_time: datetime
  36. new_refresh_token: str
  37. new_refresh_token_expire_time: datetime
  38. session_uuid: str
  39. @dataclasses.dataclass
  40. class TokenPayload:
  41. id: int
  42. session_uuid: str
  43. expire_time: datetime
  44. @dataclasses.dataclass
  45. class UploadUrl:
  46. url: str
  47. @dataclasses.dataclass
  48. class SnowflakeInfo:
  49. timestamp: int
  50. datetime: str
  51. cluster_id: int
  52. node_id: int
  53. sequence: int