fix: Support shared knowledge workflow

This commit is contained in:
zhangzhanwei 2025-12-29 14:10:32 +08:00 committed by zhanweizhang7
parent c0eb0db78e
commit 7cc33d9b86
4 changed files with 43 additions and 5 deletions

View File

@ -1308,6 +1308,10 @@ class PermissionConstants(Enum):
group=Group.SYSTEM_KNOWLEDGE_WORKFLOW, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN],
parent_group=[SystemGroup.SHARED_KNOWLEDGE], is_ee=settings.edition == "EE"
)
SHARED_KNOWLEDGE_WORKFLOW_EXPORT = Permission(
group=Group.SYSTEM_KNOWLEDGE_WORKFLOW, operate=Operate.EXPORT, role_list=[RoleConstants.ADMIN],
parent_group=[SystemGroup.SHARED_KNOWLEDGE], is_ee=settings.edition == "EE"
)
SHARED_KNOWLEDGE_DOCUMENT_READ = Permission(
group=Group.SYSTEM_KNOWLEDGE_DOCUMENT, operate=Operate.READ, role_list=[RoleConstants.ADMIN],
parent_group=[SystemGroup.SHARED_KNOWLEDGE], is_ee=settings.edition == "EE"

View File

@ -283,7 +283,7 @@ class KnowledgeWorkflowSerializer(serializers.Serializer):
class Import(serializers.Serializer):
user_id = serializers.UUIDField(required=True, label=_('user id'))
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
workspace_id = serializers.CharField(required=False, label=_('workspace id'))
knowledge_id = serializers.UUIDField(required=True, label=_('knowledge id'))
@transaction.atomic
@ -364,13 +364,13 @@ class KnowledgeWorkflowSerializer(serializers.Serializer):
input_field_list=tool.get('input_field_list'),
init_field_list=tool.get('init_field_list'),
is_active=False if len((tool.get('init_field_list') or [])) > 0 else tool.get('is_active'),
scope=ToolScope.WORKSPACE,
folder_id=workspace_id,
scope=ToolScope.SHARED if workspace_id == 'None' else ToolScope.WORKSPACE,
folder_id='default' if workspace_id == 'None' else workspace_id,
workspace_id=workspace_id)
class Export(serializers.Serializer):
user_id = serializers.UUIDField(required=True, label=_('user id'))
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
workspace_id = serializers.CharField(required=False, label=_('workspace id'))
knowledge_id = serializers.UUIDField(required=True, label=_('knowledge id'))
def export(self, with_valid=True):

View File

@ -388,6 +388,39 @@ const putKnowledgeWorkflow: (
return put(`${prefix}/${knowledge_id}/workflow`, data, undefined, loading)
}
/** *
* @param knowledge_id
* @param knowledge_name
* @param loading
* @returns
*/
const exportKnowledgeWorkflow = (
knowledge_id: string,
knowledge_name: string,
loading?: Ref<boolean>,
) => {
return exportFile(
knowledge_name + '.kbwf',
`${prefix}/${knowledge_id}/workflow/export`,
undefined,
loading,
)
}
/** *
* @param knowledge_id
* @param data
* @param loading
* @returns
*/
const importKnowledgeWorkflow: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return post(`${prefix}/${knowledge_id}/workflow/import`, data, undefined, loading)
}
const workflowUpload: (
knowledge_id: string,
instance: Dict<any>,
@ -443,6 +476,8 @@ export default {
listKnowledgeVersion,
workflowUpload,
getWorkflowActionPage,
exportKnowledgeWorkflow,
importKnowledgeWorkflow,
} as {
[key: string]: any
}

View File

@ -411,7 +411,6 @@ const importKnowledgeWorkflow = (file: any) => {
formData.append('file', file.raw)
const name = file.name.replace('.kbwf', '')
elUploadRef.value.clearFiles()
debugger
MsgConfirm(
t('common.tip'),
`${t('views.application.tip.confirmUse')} ${name} ${t('views.application.tip.overwrite')}?`,