mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:12:51 +00:00
feat: System common user permission to knowledge application tool model by resource authorization
This commit is contained in:
parent
33a88be6d3
commit
f01bf625ef
|
|
@ -16,12 +16,13 @@ from rest_framework.views import APIView
|
|||
|
||||
from application.api.application_api import ApplicationCreateAPI, ApplicationQueryAPI, ApplicationImportAPI, \
|
||||
ApplicationExportAPI, ApplicationOperateAPI, ApplicationEditAPI, TextToSpeechAPI, SpeechToTextAPI, PlayDemoTextAPI
|
||||
from application.flow.step_node.condition_node.compare import Compare
|
||||
from application.models import Application
|
||||
from application.serializers.application import ApplicationSerializer, Query, ApplicationOperateSerializer
|
||||
from common import result
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
|
||||
|
||||
|
|
@ -130,7 +131,8 @@ class ApplicationAPI(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EXPORT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EXPORT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate="Export Application",
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||
|
|
@ -155,7 +157,9 @@ class ApplicationAPI(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_DELETE.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_DELETE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate='Deleting application',
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||
|
|
@ -179,7 +183,9 @@ class ApplicationAPI(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate="Modify the application",
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||
|
|
@ -203,7 +209,9 @@ class ApplicationAPI(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(ApplicationOperateSerializer(
|
||||
|
|
@ -225,7 +233,9 @@ class ApplicationAPI(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate='Publishing an application',
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
|
||||
|
|
@ -251,7 +261,9 @@ class McpServers(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id, application_id: str):
|
||||
return result.success(ApplicationOperateSerializer(
|
||||
|
|
@ -273,7 +285,9 @@ class SpeechToText(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def post(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(
|
||||
|
|
@ -297,7 +311,9 @@ class TextToSpeech(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def post(self, request: Request, workspace_id: str, application_id: str):
|
||||
byte_data = ApplicationOperateSerializer(
|
||||
|
|
@ -322,7 +338,9 @@ class PlayDemoText(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate="trial listening",
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')))
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ from application.serializers.application_access_token import AccessTokenSerializ
|
|||
from common import result
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
|
||||
|
||||
class AccessToken(APIView):
|
||||
|
|
@ -33,7 +33,9 @@ class AccessToken(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_ACCESS.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_OVERVIEW_ACCESS.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def put(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(
|
||||
|
|
@ -50,7 +52,9 @@ class AccessToken(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_ACCESS.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_OVERVIEW_ACCESS.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, application_id: str):
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ from application.models import Application
|
|||
from application.serializers.application_api_key import ApplicationKeySerializer
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.result import result, DefaultResultSerializer
|
||||
|
||||
|
|
@ -41,7 +41,9 @@ class ApplicationKey(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
|
||||
)
|
||||
def post(self, request: Request, workspace_id: str, application_id: str):
|
||||
|
|
@ -60,7 +62,9 @@ class ApplicationKey(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(ApplicationKeySerializer(
|
||||
|
|
@ -82,7 +86,9 @@ class ApplicationKey(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate="Modify application API_KEY",
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||
|
|
@ -106,7 +112,9 @@ class ApplicationKey(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate="Delete application API_KEY",
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ from chat.api.chat_authentication_api import ChatOpenAPI
|
|||
from chat.serializers.chat import OpenChatSerializers, ChatSerializers, DebugChatSerializers
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.result import result
|
||||
from common.utils.common import query_params_to_single_dict
|
||||
|
||||
|
|
@ -42,7 +42,9 @@ class ApplicationChat(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(ApplicationChatQuerySerializers(
|
||||
|
|
@ -65,7 +67,9 @@ class ApplicationChat(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str, current_page: int, page_size: int):
|
||||
return result.success(ApplicationChatQuerySerializers(
|
||||
|
|
@ -89,7 +93,9 @@ class ApplicationChat(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_EXPORT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_EXPORT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def post(self, request: Request, workspace_id: str, application_id: str):
|
||||
return ApplicationChatQuerySerializers(
|
||||
|
|
@ -112,7 +118,9 @@ class OpenView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_DEBUG.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_DEBUG.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(OpenChatSerializers(
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ from application.serializers.application_chat_record import ApplicationChatRecor
|
|||
from common import result
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.utils.common import query_params_to_single_dict
|
||||
|
||||
|
||||
|
|
@ -38,7 +38,9 @@ class ApplicationChatRecord(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str, chat_id: str):
|
||||
return result.success(ApplicationChatRecordQuerySerializers(
|
||||
|
|
@ -62,7 +64,9 @@ class ApplicationChatRecord(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str, chat_id: str, current_page: int,
|
||||
page_size: int):
|
||||
|
|
@ -89,7 +93,9 @@ class ApplicationChatRecordOperateAPI(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str, chat_id: str, chat_record_id: str):
|
||||
return result.success(ChatRecordOperateSerializer(
|
||||
|
|
@ -115,7 +121,9 @@ class ApplicationChatRecordAddKnowledge(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_ADD_KNOWLEDGE.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_ADD_KNOWLEDGE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def post(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(ApplicationChatRecordAddKnowledgeSerializer(
|
||||
|
|
@ -137,7 +145,9 @@ class ApplicationChatRecordImprove(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_ANNOTATION.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_ANNOTATION.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str, chat_id: str, chat_record_id: str):
|
||||
return result.success(ChatRecordImproveSerializer(
|
||||
|
|
@ -160,7 +170,9 @@ class ApplicationChatRecordImproveParagraph(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_ANNOTATION.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_ANNOTATION.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def put(self, request: Request,
|
||||
workspace_id: str,
|
||||
|
|
@ -189,7 +201,9 @@ class ApplicationChatRecordImproveParagraph(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_CHAT_LOG_ANNOTATION.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_CHAT_LOG_ANNOTATION.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def delete(self, request: Request, workspace_id: str, application_id: str, chat_id: str, chat_record_id: str,
|
||||
knowledge_id: str,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ from common.auth import TokenAuth
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
|
||||
|
||||
class ApplicationStats(APIView):
|
||||
|
|
@ -34,7 +34,9 @@ class ApplicationStats(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_OVERVIEW_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_OVERVIEW_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str):
|
||||
return result.success(
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ from application.views import get_application_operation_object
|
|||
from common import result
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
|
||||
|
||||
|
|
@ -36,7 +36,9 @@ class ApplicationVersionView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id, application_id: str):
|
||||
return result.success(
|
||||
|
|
@ -58,7 +60,9 @@ class ApplicationVersionView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str, current_page: int, page_size: int):
|
||||
return result.success(
|
||||
|
|
@ -81,7 +85,9 @@ class ApplicationVersionView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
def get(self, request: Request, workspace_id: str, application_id: str, work_flow_version_id: str):
|
||||
return result.success(
|
||||
|
|
@ -101,7 +107,9 @@ class ApplicationVersionView(APIView):
|
|||
)
|
||||
@has_permissions(PermissionConstants.APPLICATION_EDIT.get_workspace_application_permission(),
|
||||
PermissionConstants.APPLICATION_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.USER.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.APPLICATION.get_workspace_application_permission()],
|
||||
CompareConstants.AND),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||
@log(menu='Application', operate="Modify application version information",
|
||||
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id')),
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ from rest_framework.views import APIView
|
|||
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.result import result
|
||||
from knowledge.api.document import DocumentSplitAPI, DocumentBatchAPI, DocumentBatchCreateAPI, DocumentCreateAPI, \
|
||||
|
|
@ -37,7 +37,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(menu='document', operate="Create document",
|
||||
get_operation_object=lambda r, keywords: get_knowledge_document_operation_object(
|
||||
|
|
@ -62,7 +63,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||
return result.success(DocumentSerializers.Query(
|
||||
|
|
@ -91,7 +93,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||
operate = DocumentSerializers.Operate(data={
|
||||
|
|
@ -113,7 +116,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Modify document",
|
||||
|
|
@ -139,7 +143,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Delete document",
|
||||
|
|
@ -173,7 +178,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def post(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||
split_data = {'file': request.FILES.getlist('file')}
|
||||
|
|
@ -223,7 +229,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Modify document hit processing methods in batches",
|
||||
|
|
@ -254,7 +261,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Synchronize web site types",
|
||||
|
|
@ -285,7 +293,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Refresh document vector library",
|
||||
|
|
@ -315,7 +324,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Cancel task",
|
||||
|
|
@ -345,7 +355,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Cancel tasks in batches",
|
||||
|
|
@ -378,7 +389,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Create documents in batches",
|
||||
|
|
@ -411,7 +423,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Batch sync documents",
|
||||
|
|
@ -444,7 +457,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Delete documents in batches",
|
||||
|
|
@ -476,7 +490,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Batch refresh document vector library",
|
||||
|
|
@ -510,7 +525,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Batch generate related documents",
|
||||
|
|
@ -540,7 +556,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, current_page: int, page_size: int):
|
||||
return result.success(DocumentSerializers.Query(
|
||||
|
|
@ -572,7 +589,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Export document",
|
||||
|
|
@ -600,7 +618,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Export Zip document",
|
||||
|
|
@ -628,7 +647,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||
return DocumentSerializers.Operate(data={
|
||||
|
|
@ -650,7 +670,8 @@ class DocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Migrate documents in batches",
|
||||
|
|
@ -686,7 +707,8 @@ class WebDocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Create Web site documents",
|
||||
|
|
@ -719,7 +741,8 @@ class QaDocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Import QA and create documentation",
|
||||
|
|
@ -752,7 +775,8 @@ class TableDocumentView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate="Import tables and create documents",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from rest_framework.views import APIView
|
|||
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.result import result
|
||||
from knowledge.api.knowledge import KnowledgeBaseCreateAPI, KnowledgeWebCreateAPI, KnowledgeTreeReadAPI, \
|
||||
|
|
@ -62,7 +62,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Knowledge Base', operate="Modify knowledge base information",
|
||||
|
|
@ -88,7 +89,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DELETE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DELETE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Knowledge Base', operate="Delete knowledge base",
|
||||
|
|
@ -113,7 +115,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_READ.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||
return result.success(KnowledgeSerializer.Operate(
|
||||
|
|
@ -166,7 +169,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_SYNC.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_SYNC.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Knowledge Base', operate="Synchronize the knowledge base of the website",
|
||||
|
|
@ -200,7 +204,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_HIT_TEST.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_HIT_TEST.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def put(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||
return result.success(KnowledgeSerializer.HitTest(
|
||||
|
|
@ -232,7 +237,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_VECTOR.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_VECTOR.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Knowledge Base', operate='Re-vectorize',
|
||||
|
|
@ -258,7 +264,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Knowledge Base', operate="Export knowledge base",
|
||||
|
|
@ -284,7 +291,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Knowledge Base', operate="Export knowledge base containing images",
|
||||
|
|
@ -313,7 +321,8 @@ class KnowledgeView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_GENERATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_GENERATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='document', operate='Generate related documents',
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from rest_framework.views import Request
|
|||
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.result import result
|
||||
from common.utils.common import query_params_to_single_dict
|
||||
|
|
@ -32,7 +32,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||
q = ParagraphSerializers.Query(
|
||||
|
|
@ -58,7 +59,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Create Paragraph',
|
||||
|
|
@ -90,7 +92,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||
return result.success(ParagraphSerializers.Batch(
|
||||
|
|
@ -112,7 +115,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Migrate paragraphs in batches',
|
||||
|
|
@ -150,7 +154,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_GENERATE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_GENERATE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Batch generate related',
|
||||
|
|
@ -181,7 +186,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Modify paragraph data',
|
||||
|
|
@ -215,7 +221,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
||||
o = ParagraphSerializers.Operate(
|
||||
|
|
@ -241,7 +248,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Delete paragraph',
|
||||
|
|
@ -279,7 +287,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Add associated questions',
|
||||
|
|
@ -311,7 +320,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str):
|
||||
return result.success(ParagraphSerializers.Problem(
|
||||
|
|
@ -340,7 +350,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Disassociation issue',
|
||||
|
|
@ -377,7 +388,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Paragraph', operate='Related questions',
|
||||
|
|
@ -413,7 +425,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request,
|
||||
workspace_id: str, knowledge_id: str, document_id: str, current_page: int, page_size: int):
|
||||
|
|
@ -445,7 +458,8 @@ class ParagraphView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
|
||||
return result.success(ParagraphSerializers.AdjustPosition(
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from rest_framework.views import Request
|
|||
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.result import result
|
||||
from common.utils.common import query_params_to_single_dict
|
||||
|
|
@ -31,7 +31,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str):
|
||||
q = ProblemSerializers.Query(
|
||||
|
|
@ -58,7 +59,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='problem', operate='Create question',
|
||||
|
|
@ -85,7 +87,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str):
|
||||
return result.success(ProblemSerializers.Operate(
|
||||
|
|
@ -113,7 +116,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='problem', operate='Batch associated paragraphs',
|
||||
|
|
@ -142,7 +146,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='problem', operate='Batch deletion issues',
|
||||
|
|
@ -170,7 +175,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_DELETE.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_DELETE.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='problem', operate='Delete question',
|
||||
|
|
@ -201,7 +207,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='problem', operate='Modify question',
|
||||
|
|
@ -233,7 +240,8 @@ class ProblemView(APIView):
|
|||
PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_knowledge_permission(),
|
||||
PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_permission_workspace_manage_role(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
RoleConstants.USER.get_workspace_role()
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()], CompareConstants.AND),
|
||||
)
|
||||
def get(self, request: Request, workspace_id: str, knowledge_id: str, current_page, page_size):
|
||||
d = ProblemSerializers.Query(
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ from rest_framework.request import Request
|
|||
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.result import result
|
||||
from common.utils.common import query_params_to_single_dict
|
||||
|
|
@ -117,7 +117,10 @@ class ModelSetting(APIView):
|
|||
responses=ModelEditApi.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_EDIT.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role())
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
|
||||
ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.MODEL.get_workspace_model_permission()],
|
||||
CompareConstants.AND),)
|
||||
@log(menu='model', operate='Update model',
|
||||
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
||||
get_details=get_edit_model_details,
|
||||
|
|
@ -136,7 +139,9 @@ class ModelSetting(APIView):
|
|||
responses=DefaultModelResponse.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_DELETE.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role())
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.MODEL.get_workspace_model_permission()],
|
||||
CompareConstants.AND),)
|
||||
@log(menu='model', operate='Delete model',
|
||||
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
||||
)
|
||||
|
|
@ -153,7 +158,9 @@ class ModelSetting(APIView):
|
|||
responses=GetModelApi.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role())
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.MODEL.get_workspace_model_permission()],
|
||||
CompareConstants.AND),)
|
||||
def get(self, request: Request, workspace_id: str, model_id: str):
|
||||
return result.success(
|
||||
ModelSerializer.Operate(
|
||||
|
|
@ -171,7 +178,9 @@ class ModelSetting(APIView):
|
|||
responses=ProvideApi.ModelParamsForm.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role())
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.MODEL.get_workspace_model_permission()],
|
||||
CompareConstants.AND),)
|
||||
def get(self, request: Request, workspace_id: str, model_id: str):
|
||||
return result.success(
|
||||
ModelSerializer.ModelParams(data={'id': model_id}).get_model_params())
|
||||
|
|
@ -185,7 +194,9 @@ class ModelSetting(APIView):
|
|||
responses=ProvideApi.ModelParamsForm.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role())
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.MODEL.get_workspace_model_permission()],
|
||||
CompareConstants.AND),)
|
||||
@log(menu='model', operate='Save model parameter form',
|
||||
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
|
||||
)
|
||||
|
|
@ -207,7 +218,9 @@ class ModelSetting(APIView):
|
|||
responses=GetModelApi.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role())
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.MODEL.get_workspace_model_permission()],
|
||||
CompareConstants.AND),)
|
||||
def get(self, request: Request, workspace_id: str, model_id: str):
|
||||
return result.success(
|
||||
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).one_meta(with_valid=True))
|
||||
|
|
@ -224,7 +237,9 @@ class ModelSetting(APIView):
|
|||
responses=DefaultModelResponse.get_response(),
|
||||
tags=[_('Model')]) # type: ignore
|
||||
@has_permissions(PermissionConstants.MODEL_CREATE.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role())
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.MODEL.get_workspace_model_permission()],
|
||||
CompareConstants.AND),)
|
||||
def put(self, request: Request, workspace_id: str, model_id: str):
|
||||
return result.success(
|
||||
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).pause_download())
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from rest_framework.views import APIView
|
|||
|
||||
from common.auth import TokenAuth
|
||||
from common.auth.authentication import has_permissions
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
||||
from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants
|
||||
from common.log.log import log
|
||||
from common.result import result
|
||||
from tools.api.tool import ToolCreateAPI, ToolEditAPI, ToolReadAPI, ToolDeleteAPI, ToolTreeReadAPI, ToolDebugApi, \
|
||||
|
|
@ -105,7 +105,9 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(
|
||||
PermissionConstants.TOOL_EDIT.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.TOOL.get_workspace_tool_permission()],
|
||||
CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Tool', operate='Update tool',
|
||||
|
|
@ -128,7 +130,9 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(
|
||||
PermissionConstants.TOOL_READ.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.TOOL.get_workspace_tool_permission()],
|
||||
CompareConstants.AND),
|
||||
)
|
||||
@log(menu='Tool', operate='Get tool')
|
||||
def get(self, request: Request, workspace_id: str, tool_id: str):
|
||||
|
|
@ -147,7 +151,9 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(
|
||||
PermissionConstants.TOOL_DELETE.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.TOOL.get_workspace_tool_permission()],
|
||||
CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Tool', operate="Delete tool",
|
||||
|
|
@ -226,7 +232,9 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(
|
||||
PermissionConstants.TOOL_EXPORT.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.TOOL.get_workspace_tool_permission()],
|
||||
CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Tool', operate="Export tool",
|
||||
|
|
@ -276,7 +284,9 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(
|
||||
PermissionConstants.TOOL_EDIT.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.TOOL.get_workspace_tool_permission()],
|
||||
CompareConstants.AND),
|
||||
)
|
||||
def put(self, request: Request, tool_id: str, workspace_id: str):
|
||||
return result.success(ToolSerializer.IconOperate(data={
|
||||
|
|
@ -319,7 +329,9 @@ class ToolView(APIView):
|
|||
)
|
||||
@has_permissions(
|
||||
PermissionConstants.TOOL_CREATE.get_workspace_permission(),
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
|
||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
|
||||
[PermissionConstants.TOOL.get_workspace_tool_permission()],
|
||||
CompareConstants.AND),
|
||||
)
|
||||
@log(
|
||||
menu='Tool', operate="Add internal tool",
|
||||
|
|
|
|||
Loading…
Reference in New Issue