1- from django .utils .translation import gettext_lazy as _
2- from drf_spectacular .utils import extend_schema
3- from rest_framework .views import APIView
4- from rest_framework .views import Request
5-
61from common .auth import TokenAuth
72from common .auth .authentication import has_permissions
8- from common .constants .permission_constants import PermissionConstants , RoleConstants , ViewPermission , CompareConstants
3+ from common .constants .permission_constants import CompareConstants , PermissionConstants , RoleConstants , ViewPermission
94from common .log .log import log
105from common .result import result
116from common .utils .common import query_params_to_single_dict
12- from knowledge .api .termbase import TermbaseReadAPI , TermbaseBatchCreateAPI , BatchDeleteAPI , TermbaseDeleteAPI , \
13- TermbaseEditAPI , TermbasePageAPI
7+ from django .utils .translation import gettext_lazy as _
8+ from drf_spectacular .utils import extend_schema
9+ from rest_framework .views import APIView , Request
10+
11+ from knowledge .api .termbase import (
12+ BatchDeleteAPI ,
13+ TermbaseBatchCreateAPI ,
14+ TermbaseDeleteAPI ,
15+ TermbaseEditAPI ,
16+ TermbasePageAPI ,
17+ TermbaseReadAPI ,
18+ )
1419from knowledge .serializers .common import get_knowledge_operation_object
1520from knowledge .serializers .termbase import TermbaseSerializers
1621
@@ -19,13 +24,13 @@ class TermbaseView(APIView):
1924 authentication_classes = [TokenAuth ]
2025
2126 @extend_schema (
22- methods = [' GET' ],
23- summary = _ (' Termbase list' ),
24- description = _ (' Termbase list' ),
25- operation_id = _ (' Termbase list' ), # type: ignore
27+ methods = [" GET" ],
28+ summary = _ (" Termbase list" ),
29+ description = _ (" Termbase list" ),
30+ operation_id = _ (" Termbase list" ), # type: ignore
2631 parameters = TermbaseReadAPI .get_parameters (),
2732 responses = TermbaseReadAPI .get_response (),
28- tags = [_ (' Knowledge Base/Documentation/Termbase' )] # type: ignore
33+ tags = [_ (" Knowledge Base/Documentation/Termbase" )], # type: ignore
2934 )
3035 @has_permissions (
3136 PermissionConstants .KNOWLEDGE_TERMBASE_READ .get_workspace_knowledge_permission (),
@@ -34,29 +39,29 @@ class TermbaseView(APIView):
3439 ViewPermission (
3540 [RoleConstants .USER .get_workspace_role ()],
3641 [PermissionConstants .KNOWLEDGE .get_workspace_knowledge_permission ()],
37- CompareConstants .AND
42+ CompareConstants .AND ,
3843 ),
3944 )
4045 def get (self , request : Request , workspace_id : str , knowledge_id : str ):
4146 q = TermbaseSerializers .Query (
4247 data = {
4348 ** query_params_to_single_dict (request .query_params ),
44- ' workspace_id' : workspace_id ,
45- ' knowledge_id' : knowledge_id
49+ " workspace_id" : workspace_id ,
50+ " knowledge_id" : knowledge_id ,
4651 }
4752 )
4853 q .is_valid (raise_exception = True )
4954 return result .success (q .list ())
5055
5156 @extend_schema (
52- methods = [' POST' ],
53- summary = _ (' Create termbase' ),
54- description = _ (' Create termbase' ),
55- operation_id = _ (' Create termbase' ), # type: ignore
57+ methods = [" POST" ],
58+ summary = _ (" Create termbase" ),
59+ description = _ (" Create termbase" ),
60+ operation_id = _ (" Create termbase" ), # type: ignore
5661 parameters = TermbaseBatchCreateAPI .get_parameters (),
5762 responses = TermbaseBatchCreateAPI .get_response (),
5863 request = TermbaseBatchCreateAPI .get_request (),
59- tags = [_ (' Knowledge Base/Documentation/Termbase' )] # type: ignore
64+ tags = [_ (" Knowledge Base/Documentation/Termbase" )], # type: ignore
6065 )
6166 @has_permissions (
6267 PermissionConstants .KNOWLEDGE_TERMBASE_CREATE .get_workspace_knowledge_permission (),
@@ -65,30 +70,33 @@ def get(self, request: Request, workspace_id: str, knowledge_id: str):
6570 ViewPermission (
6671 [RoleConstants .USER .get_workspace_role ()],
6772 [PermissionConstants .KNOWLEDGE .get_workspace_knowledge_permission ()],
68- CompareConstants .AND
73+ CompareConstants .AND ,
6974 ),
7075 )
7176 @log (
72- menu = 'termbase' , operate = 'Create termbase' ,
73- get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ('knowledge_id' ))
77+ menu = "termbase" ,
78+ operate = "Create termbase" ,
79+ get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ("knowledge_id" )),
7480 )
7581 def post (self , request : Request , workspace_id : str , knowledge_id : str ):
76- return result .success (TermbaseSerializers .Create (
77- data = {'workspace_id' : workspace_id , 'knowledge_id' : knowledge_id }
78- ).batch (request .data ))
82+ return result .success (
83+ TermbaseSerializers .Create (data = {"workspace_id" : workspace_id , "knowledge_id" : knowledge_id }).batch (
84+ request .data
85+ )
86+ )
7987
8088 class BatchDelete (APIView ):
8189 authentication_classes = [TokenAuth ]
8290
8391 @extend_schema (
84- methods = [' PUT' ],
85- summary = _ (' Batch deletion issues' ),
86- description = _ (' Batch deletion issues' ),
87- operation_id = _ (' Batch deletion issues' ), # type: ignore
92+ methods = [" PUT" ],
93+ summary = _ (" Batch deletion issues" ),
94+ description = _ (" Batch deletion issues" ),
95+ operation_id = _ (" Batch deletion issues" ), # type: ignore
8896 request = BatchDeleteAPI .get_request (),
8997 parameters = BatchDeleteAPI .get_parameters (),
9098 responses = BatchDeleteAPI .get_response (),
91- tags = [_ (' Knowledge Base/Documentation/Termbase' )] # type: ignore
99+ tags = [_ (" Knowledge Base/Documentation/Termbase" )], # type: ignore
92100 )
93101 @has_permissions (
94102 PermissionConstants .KNOWLEDGE_TERMBASE_EDIT .get_workspace_knowledge_permission (),
@@ -97,30 +105,33 @@ class BatchDelete(APIView):
97105 ViewPermission (
98106 [RoleConstants .USER .get_workspace_role ()],
99107 [PermissionConstants .KNOWLEDGE .get_workspace_knowledge_permission ()],
100- CompareConstants .AND
108+ CompareConstants .AND ,
101109 ),
102110 )
103111 @log (
104- menu = 'termbase' , operate = 'Batch deletion issues' ,
105- get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ('knowledge_id' )),
112+ menu = "termbase" ,
113+ operate = "Batch deletion issues" ,
114+ get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ("knowledge_id" )),
106115 )
107116 def put (self , request : Request , workspace_id : str , knowledge_id : str ):
108- return result .success (TermbaseSerializers .BatchOperate (
109- data = {'knowledge_id' : knowledge_id , 'workspace_id' : workspace_id }
110- ).delete (request .data ))
117+ return result .success (
118+ TermbaseSerializers .BatchOperate (
119+ data = {"knowledge_id" : knowledge_id , "workspace_id" : workspace_id }
120+ ).delete (request .data )
121+ )
111122
112123 class BatchExport (APIView ):
113124 authentication_classes = [TokenAuth ]
114125
115126 @extend_schema (
116- methods = [' POST' ],
117- summary = _ (' Batch export termbase' ),
118- description = _ (' Batch export termbase' ),
119- operation_id = _ (' Batch export termbase' ), # type: ignore
127+ methods = [" POST" ],
128+ summary = _ (" Batch export termbase" ),
129+ description = _ (" Batch export termbase" ),
130+ operation_id = _ (" Batch export termbase" ), # type: ignore
120131 request = BatchDeleteAPI .get_request (),
121132 parameters = BatchDeleteAPI .get_parameters (),
122133 responses = BatchDeleteAPI .get_response (),
123- tags = [_ (' Knowledge Base/Documentation/Termbase' )] # type: ignore
134+ tags = [_ (" Knowledge Base/Documentation/Termbase" )], # type: ignore
124135 )
125136 @has_permissions (
126137 PermissionConstants .KNOWLEDGE_TERMBASE_EDIT .get_workspace_knowledge_permission (),
@@ -129,29 +140,32 @@ class BatchExport(APIView):
129140 ViewPermission (
130141 [RoleConstants .USER .get_workspace_role ()],
131142 [PermissionConstants .KNOWLEDGE .get_workspace_knowledge_permission ()],
132- CompareConstants .AND
143+ CompareConstants .AND ,
133144 ),
134145 )
135146 @log (
136- menu = 'termbase' , operate = 'Batch export termbase' ,
137- get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ('knowledge_id' )),
147+ menu = "termbase" ,
148+ operate = "Batch export termbase" ,
149+ get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ("knowledge_id" )),
138150 )
139151 def post (self , request : Request , workspace_id : str , knowledge_id : str ):
140- return result .success (TermbaseSerializers .BatchOperate (
141- data = {'knowledge_id' : knowledge_id , 'workspace_id' : workspace_id }
142- ).export (request .data ))
152+ return result .success (
153+ TermbaseSerializers .BatchOperate (
154+ data = {"knowledge_id" : knowledge_id , "workspace_id" : workspace_id }
155+ ).export (request .data )
156+ )
143157
144158 class Operate (APIView ):
145159 authentication_classes = [TokenAuth ]
146160
147161 @extend_schema (
148- methods = [' DELETE' ],
149- summary = _ (' Delete termbase' ),
150- description = _ (' Delete termbase' ),
151- operation_id = _ (' Delete termbase' ), # type: ignore
162+ methods = [" DELETE" ],
163+ summary = _ (" Delete termbase" ),
164+ description = _ (" Delete termbase" ),
165+ operation_id = _ (" Delete termbase" ), # type: ignore
152166 parameters = TermbaseDeleteAPI .get_parameters (),
153167 responses = TermbaseDeleteAPI .get_response (),
154- tags = [_ (' Knowledge Base/Documentation/Termbase' )] # type: ignore
168+ tags = [_ (" Knowledge Base/Documentation/Termbase" )], # type: ignore
155169 )
156170 @has_permissions (
157171 PermissionConstants .KNOWLEDGE_TERMBASE_DELETE .get_workspace_knowledge_permission (),
@@ -160,33 +174,35 @@ class Operate(APIView):
160174 ViewPermission (
161175 [RoleConstants .USER .get_workspace_role ()],
162176 [PermissionConstants .KNOWLEDGE .get_workspace_knowledge_permission ()],
163- CompareConstants .AND
177+ CompareConstants .AND ,
164178 ),
165179 )
166180 @log (
167- menu = ' termbase' , operate = 'Delete termbase' ,
168- get_operation_object = lambda r , keywords : get_knowledge_operation_object ( keywords . get ( 'knowledge_id' )) ,
169-
181+ menu = " termbase" ,
182+ operate = "Delete termbase" ,
183+ get_operation_object = lambda r , keywords : get_knowledge_operation_object ( keywords . get ( "knowledge_id" )),
170184 )
171185 def delete (self , request : Request , workspace_id : str , knowledge_id : str , termbase_id : str ):
172- return result .success (TermbaseSerializers .Operate (
173- data = {
174- ** query_params_to_single_dict (request .query_params ),
175- 'workspace_id' : workspace_id ,
176- 'knowledge_id' : knowledge_id ,
177- 'termbase_id' : termbase_id
178- }
179- ).delete ())
186+ return result .success (
187+ TermbaseSerializers .Operate (
188+ data = {
189+ ** query_params_to_single_dict (request .query_params ),
190+ "workspace_id" : workspace_id ,
191+ "knowledge_id" : knowledge_id ,
192+ "termbase_id" : termbase_id ,
193+ }
194+ ).delete ()
195+ )
180196
181197 @extend_schema (
182- methods = [' PUT' ],
183- summary = _ (' Modify termbase' ),
184- description = _ (' Modify termbase' ),
185- operation_id = _ (' Modify termbase' ), # type: ignore
198+ methods = [" PUT" ],
199+ summary = _ (" Modify termbase" ),
200+ description = _ (" Modify termbase" ),
201+ operation_id = _ (" Modify termbase" ), # type: ignore
186202 parameters = TermbaseEditAPI .get_parameters (),
187203 request = TermbaseEditAPI .get_request (),
188204 responses = TermbaseEditAPI .get_response (),
189- tags = [_ (' Knowledge Base/Documentation/Termbase' )] # type: ignore
205+ tags = [_ (" Knowledge Base/Documentation/Termbase" )], # type: ignore
190206 )
191207 @has_permissions (
192208 PermissionConstants .KNOWLEDGE_TERMBASE_EDIT .get_workspace_knowledge_permission (),
@@ -195,33 +211,36 @@ def delete(self, request: Request, workspace_id: str, knowledge_id: str, termbas
195211 ViewPermission (
196212 [RoleConstants .USER .get_workspace_role ()],
197213 [PermissionConstants .KNOWLEDGE .get_workspace_knowledge_permission ()],
198- CompareConstants .AND
214+ CompareConstants .AND ,
199215 ),
200216 )
201217 @log (
202- menu = 'termbase' , operate = 'Modify termbase' ,
203- get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ('knowledge_id' )),
218+ menu = "termbase" ,
219+ operate = "Modify termbase" ,
220+ get_operation_object = lambda r , keywords : get_knowledge_operation_object (keywords .get ("knowledge_id" )),
204221 )
205222 def put (self , request : Request , workspace_id : str , knowledge_id : str , termbase_id : str ):
206- return result .success (TermbaseSerializers .Operate (
207- data = {
208- ** query_params_to_single_dict (request .query_params ),
209- 'workspace_id' : workspace_id ,
210- 'knowledge_id' : knowledge_id ,
211- 'termbase_id' : termbase_id
212- }
213- ).edit (request .data ))
223+ return result .success (
224+ TermbaseSerializers .Operate (
225+ data = {
226+ ** query_params_to_single_dict (request .query_params ),
227+ "workspace_id" : workspace_id ,
228+ "knowledge_id" : knowledge_id ,
229+ "termbase_id" : termbase_id ,
230+ }
231+ ).edit (request .data )
232+ )
214233
215234 class Page (APIView ):
216235 authentication_classes = [TokenAuth ]
217236
218237 @extend_schema (
219- summary = _ (' Get the list of termbase by page' ),
220- description = _ (' Get the list of termbase by page' ),
221- operation_id = _ (' Get the list of termbase by page' ), # type: ignore
238+ summary = _ (" Get the list of termbase by page" ),
239+ description = _ (" Get the list of termbase by page" ),
240+ operation_id = _ (" Get the list of termbase by page" ), # type: ignore
222241 parameters = TermbasePageAPI .get_parameters (),
223242 responses = TermbasePageAPI .get_response (),
224- tags = [_ (' Knowledge Base/Documentation/Termbase' )] # type: ignore
243+ tags = [_ (" Knowledge Base/Documentation/Termbase" )], # type: ignore
225244 )
226245 @has_permissions (
227246 PermissionConstants .KNOWLEDGE_TERMBASE_READ .get_workspace_knowledge_permission (),
@@ -232,15 +251,15 @@ class Page(APIView):
232251 ViewPermission (
233252 [RoleConstants .USER .get_workspace_role ()],
234253 [PermissionConstants .KNOWLEDGE .get_workspace_knowledge_permission ()],
235- CompareConstants .AND
254+ CompareConstants .AND ,
236255 ),
237256 )
238257 def get (self , request : Request , workspace_id : str , knowledge_id : str , current_page , page_size ):
239258 d = TermbaseSerializers .Query (
240259 data = {
241260 ** query_params_to_single_dict (request .query_params ),
242- ' knowledge_id' : knowledge_id ,
243- ' workspace_id' : workspace_id
261+ " knowledge_id" : knowledge_id ,
262+ " workspace_id" : workspace_id ,
244263 }
245264 )
246265 d .is_valid (raise_exception = True )
0 commit comments