UPDATE
This commit is contained in:
@@ -80,3 +80,37 @@ class WaterStressResponseSerializer(serializers.Serializer):
|
||||
waterStressIndex = serializers.IntegerField()
|
||||
level = serializers.CharField()
|
||||
sourceMetric = serializers.JSONField()
|
||||
|
||||
|
||||
class IrrigationPlanParserRequestSerializer(serializers.Serializer):
|
||||
message = serializers.CharField(required=False, allow_blank=True, help_text="توضیح آزاد کاربر درباره برنامه آبیاری")
|
||||
answers = serializers.JSONField(required=False, help_text="پاسخ های تکمیلی کاربر به سوالات مرحله قبل")
|
||||
partial_plan = serializers.JSONField(required=False, help_text="داده استخراج شده مرحله قبل برای ادامه تکمیل")
|
||||
farm_uuid = serializers.CharField(required=False, allow_blank=True, help_text="شناسه مزرعه برای غنی سازی context")
|
||||
|
||||
def validate(self, attrs):
|
||||
message = (attrs.get("message") or "").strip()
|
||||
answers = attrs.get("answers")
|
||||
partial_plan = attrs.get("partial_plan")
|
||||
if not message and not isinstance(answers, dict) and not isinstance(partial_plan, dict):
|
||||
raise serializers.ValidationError(
|
||||
"حداقل یکی از message، answers یا partial_plan باید ارسال شود."
|
||||
)
|
||||
return attrs
|
||||
|
||||
|
||||
class PlanClarificationQuestionSerializer(serializers.Serializer):
|
||||
id = serializers.CharField()
|
||||
field = serializers.CharField()
|
||||
question = serializers.CharField()
|
||||
rationale = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
|
||||
class IrrigationPlanParserResponseSerializer(serializers.Serializer):
|
||||
status = serializers.CharField()
|
||||
status_fa = serializers.CharField()
|
||||
summary = serializers.CharField()
|
||||
missing_fields = serializers.ListField(child=serializers.CharField())
|
||||
questions = PlanClarificationQuestionSerializer(many=True)
|
||||
collected_data = serializers.JSONField()
|
||||
final_plan = serializers.JSONField(required=False, allow_null=True)
|
||||
|
||||
Reference in New Issue
Block a user