response.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from typing import Any
  2. from fastapi.encoders import jsonable_encoder
  3. from app.common import const
  4. class ApiResult:
  5. def __init__(self, code, message, data) -> None:
  6. self.code = code
  7. self.message = message
  8. self.data = data
  9. code: int
  10. message: str
  11. data: Any
  12. @staticmethod
  13. def success():
  14. return jsonable_encoder(ApiResult(const.SUCCESS, const.SUCCESS_MSG, data=None))
  15. @staticmethod
  16. def success_msg(message: str):
  17. return jsonable_encoder(ApiResult(const.SUCCESS, message, data=None))
  18. @staticmethod
  19. def success_data(data):
  20. return jsonable_encoder(ApiResult(const.SUCCESS, const.SUCCESS_MSG, data))
  21. @staticmethod
  22. def success_str_data(message: str, data):
  23. return jsonable_encoder(ApiResult(const.SUCCESS, message, data))
  24. @staticmethod
  25. def error():
  26. return jsonable_encoder(ApiResult(const.ERROR, const.ERROR, data=None))
  27. @staticmethod
  28. def error_msg(message: str):
  29. return jsonable_encoder(ApiResult(const.ERROR, message, data=None))
  30. @staticmethod
  31. def error_data(data):
  32. return jsonable_encoder(ApiResult(const.ERROR, const.ERROR, data))
  33. @staticmethod
  34. def error_str_data(message: str, data):
  35. return jsonable_encoder(ApiResult(const.ERROR, message, data))