Skip to content

Commit 7b95217

Browse files
committed
refactor: reorganize imports and improve code formatting in termbase.py
1 parent 109aa7c commit 7b95217

2 files changed

Lines changed: 111 additions & 92 deletions

File tree

apps/knowledge/serializers/termbase.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
from typing import Dict, List
22

33
import uuid_utils.compat as uuid
4+
from common.db.search import page_search
5+
from common.exception.app_exception import AppApiException
46
from django.db import transaction
57
from django.db.models import QuerySet
68
from django.utils.translation import gettext_lazy as _
79
from rest_framework import serializers
810

9-
from common.db.search import page_search
10-
from common.exception.app_exception import AppApiException
11-
from knowledge.models import Termbase, Knowledge
11+
from knowledge.models import Knowledge, Termbase
1212

1313

1414
class TermbaseSerializer(serializers.ModelSerializer):

apps/knowledge/views/termbase.py

Lines changed: 108 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
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-
61
from common.auth import TokenAuth
72
from 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
94
from common.log.log import log
105
from common.result import result
116
from 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+
)
1419
from knowledge.serializers.common import get_knowledge_operation_object
1520
from 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

Comments
 (0)