tag.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. from drf_spectacular.types import OpenApiTypes
  2. from drf_spectacular.utils import OpenApiParameter
  3. from common.mixins.api_mixin import APIMixin
  4. from common.result import DefaultResultSerializer
  5. from knowledge.serializers.common import BatchSerializer
  6. from knowledge.serializers.tag import TagCreateSerializer, TagEditSerializer
  7. class TagCreateAPI(APIMixin):
  8. @staticmethod
  9. def get_parameters():
  10. return [
  11. OpenApiParameter(
  12. name="workspace_id",
  13. description="工作空间id",
  14. type=OpenApiTypes.STR,
  15. location='path',
  16. required=True,
  17. ),
  18. OpenApiParameter(
  19. name="knowledge_id",
  20. description="知识库id",
  21. type=OpenApiTypes.STR,
  22. location='path',
  23. required=True,
  24. ),
  25. ]
  26. @staticmethod
  27. def get_request():
  28. return TagCreateSerializer
  29. @staticmethod
  30. def get_response():
  31. return DefaultResultSerializer
  32. class TagDeleteAPI(APIMixin):
  33. @staticmethod
  34. def get_parameters():
  35. return [
  36. OpenApiParameter(
  37. name="workspace_id",
  38. description="工作空间id",
  39. type=OpenApiTypes.STR,
  40. location='path',
  41. required=True,
  42. ),
  43. OpenApiParameter(
  44. name="knowledge_id",
  45. description="知识库id",
  46. type=OpenApiTypes.STR,
  47. location='path',
  48. required=True,
  49. ),
  50. OpenApiParameter(
  51. name="tag_id",
  52. description="标签id",
  53. type=OpenApiTypes.STR,
  54. location='path',
  55. required=True,
  56. ),
  57. ]
  58. @staticmethod
  59. def get_request():
  60. return None
  61. @staticmethod
  62. def get_response():
  63. return DefaultResultSerializer
  64. class DocsTagDeleteAPI(APIMixin):
  65. @staticmethod
  66. def get_parameters():
  67. return [
  68. OpenApiParameter(
  69. name="workspace_id",
  70. description="工作空间id",
  71. type=OpenApiTypes.STR,
  72. location='path',
  73. required=True,
  74. ),
  75. OpenApiParameter(
  76. name="knowledge_id",
  77. description="知识库id",
  78. type=OpenApiTypes.STR,
  79. location='path',
  80. required=True,
  81. ),
  82. OpenApiParameter(
  83. name="tag_id",
  84. description="标签id",
  85. type=OpenApiTypes.STR,
  86. location='path',
  87. required=True,
  88. ),
  89. ]
  90. @staticmethod
  91. def get_request():
  92. return BatchSerializer
  93. @staticmethod
  94. def get_response():
  95. return DefaultResultSerializer
  96. class TagEditAPI(APIMixin):
  97. @staticmethod
  98. def get_parameters():
  99. return [
  100. OpenApiParameter(
  101. name="workspace_id",
  102. description="工作空间id",
  103. type=OpenApiTypes.STR,
  104. location='path',
  105. required=True,
  106. ),
  107. OpenApiParameter(
  108. name="knowledge_id",
  109. description="知识库id",
  110. type=OpenApiTypes.STR,
  111. location='path',
  112. required=True,
  113. ),
  114. OpenApiParameter(
  115. name="tag_id",
  116. description="标签id",
  117. type=OpenApiTypes.STR,
  118. location='path',
  119. required=True,
  120. ),
  121. ]
  122. @staticmethod
  123. def get_request():
  124. return TagEditSerializer
  125. @staticmethod
  126. def get_response():
  127. return DefaultResultSerializer