Skip to content

Commit c865003

Browse files
committed
refactor: replace WorkspaceUserResourcePermission with UserResourcePermissionSerializer for user authorization
1 parent 010a7e6 commit c865003

File tree

1 file changed

+6
-13
lines changed

1 file changed

+6
-13
lines changed

apps/knowledge/serializers/knowledge.py

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -598,19 +598,12 @@ def save_web(self, instance: Dict, with_valid=True):
598598
},
599599
)
600600
knowledge.save()
601-
# 自动授权给创建者
602-
WorkspaceUserResourcePermission(
603-
target=knowledge_id,
604-
auth_target_type=AuthTargetType.KNOWLEDGE,
605-
permission_list=[ResourcePermission.VIEW, ResourcePermission.MANAGE],
606-
workspace_id=self.data.get('workspace_id'),
607-
user_id=self.data.get('user_id'),
608-
auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP
609-
).save()
610-
# 刷新缓存
611-
version = Cache_Version.PERMISSION_LIST.get_version()
612-
key = Cache_Version.PERMISSION_LIST.get_key(user_id=self.data.get('user_id'))
613-
cache.delete(key, version=version)
601+
# 自动资源给授权当前用户
602+
UserResourcePermissionSerializer(data={
603+
'workspace_id': self.data.get('workspace_id'),
604+
'user_id': self.data.get('user_id'),
605+
'auth_target_type': AuthTargetType.KNOWLEDGE.value
606+
}).auth_resource(str(knowledge_id))
614607

615608
sync_web_knowledge.delay(str(knowledge_id), instance.get('source_url'), instance.get('selector'))
616609
return {**KnowledgeModelSerializer(knowledge).data, 'document_list': []}

0 commit comments

Comments
 (0)