From c8650030fb3848c0453fbce644cf65fc026b5000 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Mon, 7 Jul 2025 18:37:47 +0800 Subject: [PATCH] refactor: replace WorkspaceUserResourcePermission with UserResourcePermissionSerializer for user authorization --- apps/knowledge/serializers/knowledge.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/apps/knowledge/serializers/knowledge.py b/apps/knowledge/serializers/knowledge.py index 16422d537..cc4b882e2 100644 --- a/apps/knowledge/serializers/knowledge.py +++ b/apps/knowledge/serializers/knowledge.py @@ -598,19 +598,12 @@ class KnowledgeSerializer(serializers.Serializer): }, ) knowledge.save() - # 自动授权给创建者 - WorkspaceUserResourcePermission( - target=knowledge_id, - auth_target_type=AuthTargetType.KNOWLEDGE, - permission_list=[ResourcePermission.VIEW, ResourcePermission.MANAGE], - workspace_id=self.data.get('workspace_id'), - user_id=self.data.get('user_id'), - auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP - ).save() - # 刷新缓存 - version = Cache_Version.PERMISSION_LIST.get_version() - key = Cache_Version.PERMISSION_LIST.get_key(user_id=self.data.get('user_id')) - cache.delete(key, version=version) + # 自动资源给授权当前用户 + UserResourcePermissionSerializer(data={ + 'workspace_id': self.data.get('workspace_id'), + 'user_id': self.data.get('user_id'), + 'auth_target_type': AuthTargetType.KNOWLEDGE.value + }).auth_resource(str(knowledge_id)) sync_web_knowledge.delay(str(knowledge_id), instance.get('source_url'), instance.get('selector')) return {**KnowledgeModelSerializer(knowledge).data, 'document_list': []}