dataclasses.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. import dataclasses
  4. from datetime import datetime
  5. from fastapi import Response
  6. from common.enums import StatusType
  7. @dataclasses.dataclass
  8. class IpInfo:
  9. ip: str
  10. country: str | None
  11. region: str | None
  12. city: str | None
  13. @dataclasses.dataclass
  14. class UserAgentInfo:
  15. user_agent: str
  16. os: str | None
  17. browser: str | None
  18. device: str | None
  19. @dataclasses.dataclass
  20. class RequestCallNextReturn:
  21. code: str
  22. msg: str
  23. status: StatusType
  24. err: Exception | None
  25. response: Response
  26. @dataclasses.dataclass
  27. class NewTokenReturn:
  28. new_access_token: str
  29. new_refresh_token: str
  30. new_access_token_expire_time: datetime
  31. new_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. @dataclasses.dataclass
  39. class AccessToken:
  40. access_token: str
  41. access_token_expire_time: datetime | None
  42. @dataclasses.dataclass
  43. class RefreshToken:
  44. refresh_token: str
  45. refresh_token_expire_time: datetime