MCPcopy Index your code
hub / github.com/1Panel-dev/MaxKB / ApplicationTaskParameterSerializer

Class ApplicationTaskParameterSerializer

apps/trigger/serializers/trigger.py:54–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52
53
54class ApplicationTaskParameterSerializer(serializers.Serializer):
55 question = InputField(required=True)
56 api_input_field_list = serializers.JSONField(required=False)
57 user_input_field_list = serializers.JSONField(required=False)
58 image_list = InputField(required=False)
59 document_list = InputField(required=False)
60 audio_list = InputField(required=False)
61 video_list = InputField(required=False)
62 other_list = InputField(required=False)
63
64 @staticmethod
65 def _validate_input_dict(value, field_name):
66 if not value:
67 return value
68 if not isinstance(value, dict):
69 raise serializers.ValidationError(_("%s must be a dict") % field_name)
70
71 for key, val in value.items():
72 serializer = InputField(data=val)
73 if not serializer.is_valid():
74 raise serializers.ValidationError({f"{field_name}.{key}": serializer.errors})
75 return value
76
77 def validate_api_input_field_list(self, value):
78 return self._validate_input_dict(value, 'api_input_field_list')
79
80 def validate_user_input_field_list(self, value):
81 return self._validate_input_dict(value, 'user_input_field_list')
82
83
84class ToolTaskParameterSerializer(serializers.Serializer):

Callers 2

validateMethod · 0.85
validateMethod · 0.85

Calls 1

InputFieldClass · 0.70

Tested by

no test coverage detected