Skip to content

Commit 7921d96

Browse files
authored
Merge branch 'v2' into pr@v2@feat_chat_auth
2 parents dfae711 + 7abd9df commit 7921d96

File tree

261 files changed

+8792
-2010
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

261 files changed

+8792
-2010
lines changed

apps/application/flow/step_node/document_extract_node/impl/base_document_extract_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from application.flow.step_node.document_extract_node.i_document_extract_node import IDocumentExtractNode
1010
from knowledge.models import File
1111
from knowledge.serializers.document import split_handles, parse_table_handle_list, FileBufferHandle
12-
from knowledge.serializers.file import FileSerializer
12+
from oss.serializers.file import FileSerializer
1313

1414

1515
def bytes_to_uploaded_file(file_bytes, file_name="file.txt"):

apps/application/flow/step_node/image_generate_step_node/impl/base_image_generate_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from application.flow.i_step_node import NodeResult
99
from application.flow.step_node.image_generate_step_node.i_image_generate_node import IImageGenerateNode
1010
from common.utils.common import bytes_to_uploaded_file
11-
from knowledge.serializers.file import FileSerializer
11+
from oss.serializers.file import FileSerializer
1212
from models_provider.tools import get_model_instance_by_model_user_id
1313

1414

apps/application/flow/step_node/image_understand_step_node/impl/base_image_understand_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def generate_history_human_message_for_details(self, chat_record):
130130
file_id_list = [image.get('file_id') for image in image_list]
131131
return HumanMessage(content=[
132132
{'type': 'text', 'text': data['question']},
133-
*[{'type': 'image_url', 'image_url': {'url': f'/api/file/{file_id}'}} for file_id in file_id_list]
133+
*[{'type': 'image_url', 'image_url': {'url': f'/oss/file/{file_id}'}} for file_id in file_id_list]
134134

135135
])
136136
return HumanMessage(content=chat_record.problem_text)

apps/application/flow/step_node/text_to_speech_step_node/impl/base_text_to_speech_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from application.flow.i_step_node import NodeResult
88
from application.flow.step_node.text_to_speech_step_node.i_text_to_speech_node import ITextToSpeechNode
9-
from knowledge.serializers.file import FileSerializer
9+
from oss.serializers.file import FileSerializer
1010
from models_provider.tools import get_model_instance_by_model_user_id
1111

1212

apps/application/models/application_access_token.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class ApplicationAccessToken(AppModelMixin):
2626
base_field=models.CharField(max_length=128, blank=True)
2727
, default=list)
2828
show_source = models.BooleanField(default=False, verbose_name="是否显示知识来源")
29+
show_exec = models.BooleanField(default=False, verbose_name="是否显示执行详情")
2930

3031
language = models.CharField(max_length=10, verbose_name="语言", default=None, null=True)
3132

apps/application/views/application.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
@date:2025/5/26 16:51
77
@desc:
88
"""
9+
from django.db.models import QuerySet
910
from django.utils.translation import gettext_lazy as _
1011
from drf_spectacular.utils import extend_schema
1112
from rest_framework.parsers import MultiPartParser
@@ -14,11 +15,22 @@
1415

1516
from application.api.application_api import ApplicationCreateAPI, ApplicationQueryAPI, ApplicationImportAPI, \
1617
ApplicationExportAPI, ApplicationOperateAPI, ApplicationEditAPI
18+
from application.models import Application
1719
from application.serializers.application import ApplicationSerializer, Query, ApplicationOperateSerializer
1820
from common import result
1921
from common.auth import TokenAuth
2022
from common.auth.authentication import has_permissions
2123
from common.constants.permission_constants import PermissionConstants
24+
from common.log.log import log
25+
26+
27+
def get_application_operation_object(application_id):
28+
application_model = QuerySet(model=Application).filter(id=application_id).first()
29+
if application_model is not None:
30+
return {
31+
'name': application_model.name
32+
}
33+
return {}
2234

2335

2436
class Application(APIView):
@@ -35,6 +47,8 @@ class Application(APIView):
3547
tags=[_('Application')] # type: ignore
3648
)
3749
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_permission())
50+
@log(menu='Application', operate='Create an application',
51+
get_operation_object=lambda r, k: {'name': r.data.get('name')})
3852
def post(self, request: Request, workspace_id: str):
3953
return result.success(
4054
ApplicationSerializer(data={'workspace_id': workspace_id, 'user_id': request.user.id}).insert(request.data))
@@ -85,6 +99,7 @@ class Import(APIView):
8599
tags=[_('Application')] # type: ignore
86100
)
87101
@has_permissions(PermissionConstants.APPLICATION_READ)
102+
@log(menu='Application', operate="Import Application")
88103
def post(self, request: Request, workspace_id: str):
89104
return result.success(ApplicationSerializer(
90105
data={'user_id': request.user.id, 'workspace_id': workspace_id,
@@ -104,6 +119,8 @@ class Export(APIView):
104119
tags=[_('Application')] # type: ignore
105120
)
106121
@has_permissions(PermissionConstants.APPLICATION_EXPORT.get_workspace_application_permission())
122+
@log(menu='Application', operate="Export Application",
123+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
107124
def post(self, request: Request, workspace_id: str, application_id: str):
108125
return ApplicationOperateSerializer(
109126
data={'application_id': application_id,
@@ -122,6 +139,9 @@ class Operate(APIView):
122139
tags=[_('Application')] # type: ignore
123140
)
124141
@has_permissions(PermissionConstants.APPLICATION_DELETE.get_workspace_application_permission())
142+
@log(menu='Application', operate='Deleting application',
143+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id'))
144+
)
125145
def delete(self, request: Request, workspace_id: str, application_id: str):
126146
return result.success(ApplicationOperateSerializer(
127147
data={'application_id': application_id, 'user_id': request.user.id}).delete(
@@ -138,6 +158,8 @@ def delete(self, request: Request, workspace_id: str, application_id: str):
138158
tags=[_('Application')] # type: ignore
139159
)
140160
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission())
161+
@log(menu='Application', operate="Modify the application",
162+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
141163
def put(self, request: Request, workspace_id: str, application_id: str):
142164
return result.success(
143165
ApplicationOperateSerializer(
@@ -172,6 +194,9 @@ class Publish(APIView):
172194
responses=result.DefaultResultSerializer,
173195
tags=[_('Application')] # type: ignore
174196
)
197+
@log(menu='Application', operate='Publishing an application',
198+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id'))
199+
)
175200
def put(self, request: Request, application_id: str):
176201
return result.success(
177202
ApplicationOperateSerializer(

apps/application/views/application_api_key.py

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,28 @@
1+
from django.db.models import QuerySet
12
from drf_spectacular.utils import extend_schema
23
from rest_framework.request import Request
34
from rest_framework.views import APIView
45
from django.utils.translation import gettext_lazy as _
56

67
from application.api.application_api_key import ApplicationKeyCreateAPI
8+
from application.models import ApplicationApiKey
79
from application.serializers.application_api_key import ApplicationKeySerializer
810
from common.auth import TokenAuth
11+
from common.auth.authentication import has_permissions
12+
from common.constants.permission_constants import PermissionConstants
13+
from common.log.log import log
914
from common.result import result, success
1015

1116

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:
20+
return {
21+
"name": application_api_key_model.name
22+
}
23+
return {}
24+
25+
1226
class ApplicationKey(APIView):
1327
authentication_classes = [TokenAuth]
1428

@@ -20,6 +34,10 @@ class ApplicationKey(APIView):
2034
parameters=ApplicationKeyCreateAPI.get_parameters(),
2135
tags=[_('Application Api Key')] # type: ignore
2236
)
37+
38+
@log(menu='Application', operate="Add ApiKey",
39+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_api_key_id')))
40+
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
2341
def post(self, request: Request, workspace_id: str, application_id: str):
2442
return result.success(ApplicationKeySerializer(
2543
data={'application_id': application_id, 'user_id': request.user.id,
@@ -33,7 +51,8 @@ def post(self, request: Request, workspace_id: str, application_id: str):
3351
parameters=ApplicationKeyCreateAPI.get_parameters(),
3452
tags=[_('Application Api Key')] # type: ignore
3553
)
36-
def get(self, request: Request, workspace_id: str, application_id: str, ):
54+
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
55+
def get(self, request: Request, workspace_id: str, application_id: str ):
3756
return result, success(ApplicationKeySerializer(
3857
data={'application_id': application_id, 'user_id': request.user.id,
3958
'workspace_id': workspace_id}).list())
@@ -49,8 +68,6 @@ class Operate(APIView):
4968
parameters=ApplicationKeyCreateAPI.get_parameters(),
5069
tags=[_('Application Api Key')] # type: ignore
5170
)
52-
def put(self, request: Request, workspace_id: str, application_id: str):
53-
return result.success(ApplicationKeySerializer.Operate(
54-
55-
)
56-
)
71+
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission())
72+
def put(self, request: Request, application_id: str, workspace_id: str):
73+
return result.success(ApplicationKeySerializer.Operate())

apps/application/views/application_version.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@
1414
from application.api.application_version import ApplicationVersionListAPI, ApplicationVersionPageAPI, \
1515
ApplicationVersionOperateAPI
1616
from application.serializers.application_version import ApplicationVersionSerializer
17+
from application.views import get_application_operation_object
1718
from common import result
1819
from common.auth import TokenAuth
1920
from common.auth.authentication import has_permissions
2021
from common.constants.permission_constants import PermissionConstants
22+
from common.log.log import log
2123

2224

2325
class ApplicationVersionView(APIView):
@@ -89,6 +91,8 @@ def get(self, request: Request, workspace_id: str, application_id: str, work_flo
8991
tags=[_('Application/Version')] # type: ignore
9092
)
9193
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission())
94+
@log(menu='Application', operate="Modify application version information",
95+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
9296
def put(self, request: Request, workspace_id: str, application_id: str, work_flow_version_id: str):
9397
return result.success(
9498
ApplicationVersionSerializer.Operate(

0 commit comments

Comments
 (0)