-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Expand file tree
/
Copy pathmodule.py
More file actions
109 lines (92 loc) · 2.82 KB
/
module.py
File metadata and controls
109 lines (92 loc) · 2.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# coding=utf-8
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import OpenApiParameter
from common.mixins.api_mixin import APIMixin
from common.result import ResultSerializer
from modules.models.module import ModuleCreateRequest, ModuleEditRequest
from modules.serializers.module import ModuleSerializer
class ModuleCreateResponse(ResultSerializer):
def get_data(self):
return ModuleSerializer()
class ModuleCreateAPI(APIMixin):
@staticmethod
def get_parameters():
return [
OpenApiParameter(
name="workspace_id",
description="工作空间id",
type=OpenApiTypes.STR,
location='path',
required=True,
),
OpenApiParameter(
name="source",
description="菜单",
type=OpenApiTypes.STR,
enum=["APPLICATION", "KNOWLEDGE", "TOOL"],
location='path',
required=True,
)
]
@staticmethod
def get_request():
return ModuleCreateRequest
@staticmethod
def get_response():
return ModuleCreateResponse
class ModuleReadAPI(APIMixin):
@staticmethod
def get_parameters():
return [
OpenApiParameter(
name="workspace_id",
description="工作空间id",
type=OpenApiTypes.STR,
location='path',
required=True,
),
OpenApiParameter(
name="source",
description="菜单",
type=OpenApiTypes.STR,
enum=["APPLICATION", "KNOWLEDGE", "TOOL"],
location='path',
required=True,
),
OpenApiParameter(
name="module_id",
description="模块id",
type=OpenApiTypes.STR,
location='path',
required=True,
)
]
@staticmethod
def get_response():
return ModuleCreateResponse
class ModuleEditAPI(ModuleReadAPI):
@staticmethod
def get_request():
return ModuleEditRequest
class ModuleDeleteAPI(ModuleReadAPI):
pass
class ModuleTreeReadAPI(APIMixin):
@staticmethod
def get_parameters():
return [
OpenApiParameter(
name="workspace_id",
description="工作空间id",
type=OpenApiTypes.STR,
location='path',
required=True,
),
OpenApiParameter(
name="source",
description="菜单",
type=OpenApiTypes.STR,
enum=["APPLICATION", "KNOWLEDGE", "TOOL"],
location='path',
required=True,
)
]