application_version.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎虎
  5. @file: application_version.py
  6. @date:2025/6/4 17:33
  7. @desc:
  8. """
  9. from drf_spectacular.types import OpenApiTypes
  10. from drf_spectacular.utils import OpenApiParameter
  11. from application.serializers.application_version import ApplicationVersionModelSerializer
  12. from common.mixins.api_mixin import APIMixin
  13. from common.result import ResultSerializer, PageDataResponse, ResultPageSerializer
  14. class ApplicationListVersionResult(ResultSerializer):
  15. def get_data(self):
  16. return ApplicationVersionModelSerializer(many=True)
  17. class ApplicationPageVersionResult(ResultPageSerializer):
  18. def get_data(self):
  19. return ApplicationVersionModelSerializer(many=True)
  20. class ApplicationWorkflowVersionResult(ResultSerializer):
  21. def get_data(self):
  22. return ApplicationVersionModelSerializer()
  23. class ApplicationVersionAPI(APIMixin):
  24. @staticmethod
  25. def get_parameters():
  26. return [
  27. OpenApiParameter(
  28. name="workspace_id",
  29. description="工作空间id",
  30. type=OpenApiTypes.STR,
  31. location='path',
  32. required=True,
  33. ),
  34. OpenApiParameter(
  35. name="application_id",
  36. description="application ID",
  37. type=OpenApiTypes.STR,
  38. location='path',
  39. required=True,
  40. )
  41. ]
  42. class ApplicationVersionOperateAPI(APIMixin):
  43. @staticmethod
  44. def get_parameters():
  45. return [
  46. OpenApiParameter(
  47. name="application_version_id",
  48. description="工作流版本id",
  49. type=OpenApiTypes.STR,
  50. location='path',
  51. required=True,
  52. )
  53. , *ApplicationVersionAPI.get_parameters()
  54. ]
  55. @staticmethod
  56. def get_response():
  57. return ApplicationWorkflowVersionResult
  58. class ApplicationVersionListAPI(APIMixin):
  59. @staticmethod
  60. def get_parameters():
  61. return [
  62. OpenApiParameter(
  63. name="name",
  64. description="Version Name",
  65. type=OpenApiTypes.STR,
  66. required=False,
  67. )
  68. , *ApplicationVersionAPI.get_parameters()]
  69. @staticmethod
  70. def get_response():
  71. return ApplicationListVersionResult
  72. class ApplicationVersionPageAPI(APIMixin):
  73. @staticmethod
  74. def get_parameters():
  75. return ApplicationVersionListAPI.get_parameters()
  76. @staticmethod
  77. def get_response():
  78. return ApplicationPageVersionResult