Skip to content

Commit e6e3acd

Browse files
committed
refactor: log add workspace_id
1 parent 982604d commit e6e3acd

File tree

15 files changed

+131
-94
lines changed

15 files changed

+131
-94
lines changed

apps/application/views/application.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ class Application(APIView):
4848
)
4949
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_permission())
5050
@log(menu='Application', operate='Create an application',
51-
get_operation_object=lambda r, k: {'name': r.data.get('name')})
51+
get_operation_object=lambda r, k: {'name': r.data.get('name')},
52+
workspace_id=lambda r, k: k.get('workspace_id'))
5253
def post(self, request: Request, workspace_id: str):
5354
return result.success(
5455
ApplicationSerializer(data={'workspace_id': workspace_id, 'user_id': request.user.id}).insert(request.data))
@@ -99,7 +100,7 @@ class Import(APIView):
99100
tags=[_('Application')] # type: ignore
100101
)
101102
@has_permissions(PermissionConstants.APPLICATION_READ)
102-
@log(menu='Application', operate="Import Application")
103+
@log(menu='Application', operate="Import Application", workspace_id=lambda r, k: k.get('workspace_id'))
103104
def post(self, request: Request, workspace_id: str):
104105
return result.success(ApplicationSerializer(
105106
data={'user_id': request.user.id, 'workspace_id': workspace_id,
@@ -120,7 +121,8 @@ class Export(APIView):
120121
)
121122
@has_permissions(PermissionConstants.APPLICATION_EXPORT.get_workspace_application_permission())
122123
@log(menu='Application', operate="Export Application",
123-
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
124+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
125+
workspace_id=lambda r, k: k.get('workspace_id'))
124126
def post(self, request: Request, workspace_id: str, application_id: str):
125127
return ApplicationOperateSerializer(
126128
data={'application_id': application_id,
@@ -140,7 +142,8 @@ class Operate(APIView):
140142
)
141143
@has_permissions(PermissionConstants.APPLICATION_DELETE.get_workspace_application_permission())
142144
@log(menu='Application', operate='Deleting application',
143-
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id'))
145+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
146+
workspace_id=lambda r, k: k.get('workspace_id')
144147
)
145148
def delete(self, request: Request, workspace_id: str, application_id: str):
146149
return result.success(ApplicationOperateSerializer(
@@ -159,7 +162,8 @@ def delete(self, request: Request, workspace_id: str, application_id: str):
159162
)
160163
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission())
161164
@log(menu='Application', operate="Modify the application",
162-
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
165+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
166+
workspace_id=lambda r, k: k.get('workspace_id'))
163167
def put(self, request: Request, workspace_id: str, application_id: str):
164168
return result.success(
165169
ApplicationOperateSerializer(
@@ -195,7 +199,8 @@ class Publish(APIView):
195199
tags=[_('Application')] # type: ignore
196200
)
197201
@log(menu='Application', operate='Publishing an application',
198-
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id'))
202+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
203+
workspace_id=lambda r, k: k.get('workspace_id')
199204
)
200205
def put(self, request: Request, application_id: str):
201206
return result.success(

apps/application/views/application_api_key.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from rest_framework.views import APIView
66

77
from application.api.application_api_key import ApplicationKeyAPI
8-
from application.models import ApplicationApiKey
8+
from application.models import ApplicationApiKey, Application
99
from application.serializers.application_api_key import ApplicationKeySerializer
1010
from common.auth import TokenAuth
1111
from common.auth.authentication import has_permissions
@@ -14,11 +14,11 @@
1414
from common.result import result, success, DefaultResultSerializer
1515

1616

17-
def get_application_operation_object(application_api_key_id):
18-
application_api_key_model = QuerySet(model=ApplicationApiKey).filter(id=application_api_key_id).first()
19-
if application_api_key_model is not None:
17+
def get_application_operation_object(application_id):
18+
application_model = QuerySet(model=Application).filter(id=application_id).first()
19+
if application_model is not None:
2020
return {
21-
"name": application_api_key_model.name
21+
"name": application_model.name
2222
}
2323
return {}
2424

@@ -37,7 +37,8 @@ class ApplicationKey(APIView):
3737
tags=[_('Application Api Key')] # type: ignore
3838
)
3939
@log(menu='Application', operate="Add ApiKey",
40-
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_api_key_id')))
40+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
41+
workspace_id=lambda r, k: k.get('workspace_id'))
4142
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
4243
def post(self, request: Request, workspace_id: str, application_id: str):
4344
return result.success(ApplicationKeySerializer(
@@ -73,6 +74,9 @@ class Operate(APIView):
7374
tags=[_('Application Api Key')] # type: ignore
7475
)
7576
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
77+
@log(menu='Application', operate="Modify application API_KEY",
78+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
79+
workspace_id=lambda r, k: k.get('workspace_id'))
7680
def put(self, request: Request, workspace_id: str, application_id: str, api_key_id: str):
7781
return result.success(
7882
ApplicationKeySerializer.Operate(
@@ -91,6 +95,9 @@ def put(self, request: Request, workspace_id: str, application_id: str, api_key_
9195
tags=[_('Application Api Key')] # type: ignore
9296
)
9397
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
98+
@log(menu='Application', operate="Delete application API_KEY",
99+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
100+
workspace_id=lambda r, k: k.get('workspace_id'))
94101
def delete(self, request: Request, workspace_id: str, application_id: str, api_key_id: str):
95102
return result.success(
96103
ApplicationKeySerializer.Operate(

apps/application/views/application_version.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ def get(self, request: Request, workspace_id: str, application_id: str, work_flo
9292
)
9393
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission())
9494
@log(menu='Application', operate="Modify application version information",
95-
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
95+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
96+
workspace_id=lambda r, k: k.get('workspace_id'))
9697
def put(self, request: Request, workspace_id: str, application_id: str, work_flow_version_id: str):
9798
return result.success(
9899
ApplicationVersionSerializer.Operate(

apps/common/log/log.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def _get_details(request):
5757

5858

5959
def log(menu: str, operate, get_user=_get_user, get_ip_address=_get_ip_address, get_details=_get_details,
60-
get_operation_object=None):
60+
get_operation_object=None, workspace_id="None"):
6161
"""
6262
记录审计日志
6363
@param menu: 操作菜单 str
@@ -92,7 +92,7 @@ def run(view, request, **kwargs):
9292
_operate = operate(request)
9393
# 插入审计日志
9494
Log(menu=menu, operate=_operate, user=user, status=status, ip_address=ip, details=details,
95-
operation_object=operation_object).save()
95+
operation_object=operation_object, workspace_id=workspace_id).save()
9696

9797
return run
9898

apps/folders/views/folder.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,18 @@
1010
from common.log.log import log
1111
from common.result import result
1212
from folders.api.folder import FolderCreateAPI, FolderEditAPI, FolderReadAPI, FolderTreeReadAPI, FolderDeleteAPI
13-
from folders.models.folder import FolderCreateRequest, FolderEditRequest
14-
from folders.serializers.folder import FolderSerializer, FolderTreeSerializer
13+
from folders.serializers.folder import FolderSerializer, FolderTreeSerializer, get_folder_type
1514

1615

17-
def get_folder_create_operation_object(folder_name):
18-
folder_model = QuerySet(model=FolderCreateRequest).filter(name=folder_name).first()
16+
def get_folder_operation_object(folder_id, source):
17+
Folder = get_folder_type(source)
18+
folder_model = QuerySet(model=Folder).filter(id=folder_id).first()
1919
if folder_model is not None:
2020
return {
2121
'name': folder_model.name
2222
}
2323
return {}
2424

25-
def get_folder_edit_operation_object(folder_name):
26-
folder_model = QuerySet(model=FolderEditRequest).filter(name=folder_name).first()
27-
if folder_model is not None:
28-
return {
29-
'name': folder_model.name
30-
}
31-
return {}
3225

3326
class FolderView(APIView):
3427
authentication_classes = [TokenAuth]
@@ -46,7 +39,8 @@ class FolderView(APIView):
4639
@has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.CREATE,
4740
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"))
4841
@log(menu='folder', operate='Create folder',
49-
get_operation_object=lambda r,k: get_folder_create_operation_object(k.get('folder_name'))
42+
get_operation_object=lambda r, k: {'name': r.data.get('name')},
43+
workspace_id=lambda r, k: k.get('workspace_id')
5044
)
5145
def post(self, request: Request, workspace_id: str, source: str):
5246
return result.success(FolderSerializer.Create(
@@ -87,7 +81,8 @@ class Operate(APIView):
8781
@has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.EDIT,
8882
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"))
8983
@log(menu='folder', operate='Edit folder',
90-
get_operation_object=lambda r, k: get_folder_edit_operation_object(k.get('folder_name'))
84+
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
85+
workspace_id=lambda r, k: k.get('workspace_id')
9186
)
9287
def put(self, request: Request, workspace_id: str, source: str, folder_id: str):
9388
return result.success(FolderSerializer.Operate(
@@ -121,7 +116,10 @@ def get(self, request: Request, workspace_id: str, source: str, folder_id: str):
121116
)
122117
@has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.DELETE,
123118
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"))
124-
@log(menu='folder', operate='Delete folder')
119+
@log(menu='folder', operate='Delete folder',
120+
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
121+
workspace_id=lambda r, k: k.get('workspace_id')
122+
)
125123
def delete(self, request: Request, workspace_id: str, source: str, folder_id: str):
126124
return result.success(FolderSerializer.Operate(
127125
data={'id': folder_id, 'workspace_id': workspace_id, 'source': source}

apps/knowledge/views/common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from knowledge.models import Document
44

55

6-
76
def get_document_operation_object(document_id: str):
87
document_model = QuerySet(model=Document).filter(id=document_id).first()
98
if document_model is not None:
@@ -13,6 +12,7 @@ def get_document_operation_object(document_id: str):
1312
}
1413
return {}
1514

15+
1616
def get_document_operation_object_batch(document_id_list: str):
1717
document_model_list = QuerySet(model=Document).filter(id__in=document_id_list)
1818
if document_model_list is not None:
@@ -32,4 +32,4 @@ def get_knowledge_document_operation_object(knowledge_dict: dict, document_dict:
3232
'dataset_type': knowledge_dict.get("type", ""),
3333
'document_name': document_dict.get("name", ""),
3434
'document_type': document_dict.get("type", ""),
35-
}
35+
}

0 commit comments

Comments
 (0)