application_api_key.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from drf_spectacular.types import OpenApiTypes
  2. from drf_spectacular.utils import OpenApiParameter
  3. from application.serializers.application_api_key import EditApplicationKeySerializer, ApplicationKeySerializerModel
  4. from common.mixins.api_mixin import APIMixin
  5. from common.result import ResultSerializer
  6. class ApplicationKeyListResult(ResultSerializer):
  7. def get_data(self):
  8. return ApplicationKeySerializerModel(many=True)
  9. class ApplicationKeyResult(ResultSerializer):
  10. def get_data(self):
  11. return ApplicationKeySerializerModel()
  12. class ApplicationKeyAPI(APIMixin):
  13. @staticmethod
  14. def get_parameters():
  15. return [
  16. OpenApiParameter(
  17. name="workspace_id",
  18. description="工作空间id",
  19. type=OpenApiTypes.STR,
  20. location='path',
  21. required=True,
  22. ),
  23. OpenApiParameter(
  24. name="application_id",
  25. description="application ID",
  26. type=OpenApiTypes.STR,
  27. location='path',
  28. required=True,
  29. )
  30. ]
  31. @staticmethod
  32. def get_response():
  33. return ApplicationKeyResult
  34. class List(APIMixin):
  35. @staticmethod
  36. def get_response():
  37. return ApplicationKeyListResult
  38. class Operate(APIMixin):
  39. @staticmethod
  40. def get_parameters():
  41. return [*ApplicationKeyAPI.get_parameters(), OpenApiParameter(
  42. name="api_key_id",
  43. description="ApiKeyId",
  44. type=OpenApiTypes.STR,
  45. location='path',
  46. required=True,
  47. )]
  48. @staticmethod
  49. def get_request():
  50. return EditApplicationKeySerializer