From 91f16aa394d4eb61e17e7a348657cd91f91fa270 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Wed, 23 Apr 2025 11:34:19 +0800 Subject: [PATCH] feat: add ToolEditRequest serializer for editing tool properties --- apps/tools/api/tool.py | 4 ++-- apps/tools/serializers/tool.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/apps/tools/api/tool.py b/apps/tools/api/tool.py index a070d3467..382d94a54 100644 --- a/apps/tools/api/tool.py +++ b/apps/tools/api/tool.py @@ -4,7 +4,7 @@ from drf_spectacular.utils import OpenApiParameter from common.mixins.api_mixin import APIMixin from common.result import ResultSerializer, DefaultResultSerializer -from tools.serializers.tool import ToolModelSerializer, ToolCreateRequest, ToolDebugRequest +from tools.serializers.tool import ToolModelSerializer, ToolCreateRequest, ToolDebugRequest, ToolEditRequest class ToolCreateResponse(ResultSerializer): @@ -63,7 +63,7 @@ class ToolEditAPI(ToolReadAPI): @staticmethod def get_request(): - return ToolCreateRequest + return ToolEditRequest class ToolDeleteAPI(ToolReadAPI): diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index daad9dc64..872e7657a 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -127,6 +127,25 @@ class ToolCreateRequest(serializers.Serializer): module_id = serializers.CharField(required=False, allow_null=True, allow_blank=True, default='root') +class ToolEditRequest(serializers.Serializer): + name = serializers.CharField(required=False, label=_('tool name')) + + desc = serializers.CharField(required=False, allow_null=True, allow_blank=True, + label=_('tool description')) + + code = serializers.CharField(required=False, label=_('tool content')) + + input_field_list = serializers.ListField(child=ToolInputField(), required=False, default=list, + label=_('input field list')) + + init_field_list = serializers.ListField(child=InitField(), required=False, default=list, label=_('init field list')) + + init_params = serializers.DictField(required=False, default=dict, label=_('init params')) + + is_active = serializers.BooleanField(required=False, label=_('Is active')) + + module_id = serializers.CharField(required=False, allow_null=True, allow_blank=True, default='root') + class DebugField(serializers.Serializer): name = serializers.CharField(required=True, label=_('variable name'))