From c8d901ba4d7eff4861c57a3c493a6537bda8fdba Mon Sep 17 00:00:00 2001 From: CaptainB Date: Thu, 3 Jul 2025 17:11:41 +0800 Subject: [PATCH] refactor: use consistent tool ID generation and add automatic permission assignment for tool creators --- apps/tools/serializers/tool.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index b41f72572..fdd0f17e0 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -397,8 +397,9 @@ class ToolSerializer(serializers.Serializer): except Exception as e: raise AppApiException(1001, _("Unsupported file format")) tool = tool_instance.tool + tool_id = uuid.uuid7() tool_model = Tool( - id=uuid.uuid7(), + id=tool_id, name=tool.get('name'), desc=tool.get('desc'), code=tool.get('code'), @@ -411,6 +412,14 @@ class ToolSerializer(serializers.Serializer): is_active=False ) tool_model.save() + + # 自动授权给创建者 + UserResourcePermissionSerializer(data={ + 'workspace_id': self.data.get('workspace_id'), + 'user_id': self.data.get('user_id'), + 'auth_target_type': AuthTargetType.TOOL.value + }).auth_resource(str(tool_id)) + return True class IconOperate(serializers.Serializer):