51 lines
2.5 KiB
Python
51 lines
2.5 KiB
Python
from rest_framework import serializers
|
|
|
|
|
|
class PestDiseaseDetectionRequestSerializer(serializers.Serializer):
|
|
farm_uuid = serializers.CharField(required=False, help_text="شناسه یکتای مزرعه")
|
|
sensor_uuid = serializers.CharField(required=False, help_text="نام قدیمی برای farm_uuid")
|
|
plant_name = serializers.CharField(required=False, allow_blank=True, help_text="نام گیاه")
|
|
query = serializers.CharField(required=False, allow_blank=True, help_text="توضیح اختیاری")
|
|
image_urls = serializers.JSONField(required=False, help_text="آرایه URL تصاویر")
|
|
|
|
def validate(self, attrs):
|
|
farm_uuid = attrs.get("farm_uuid") or attrs.get("sensor_uuid")
|
|
if not farm_uuid:
|
|
raise serializers.ValidationError({"farm_uuid": "farm_uuid الزامی است."})
|
|
attrs["farm_uuid"] = farm_uuid
|
|
return attrs
|
|
|
|
|
|
class PestDiseaseRiskRequestSerializer(serializers.Serializer):
|
|
farm_uuid = serializers.CharField(required=False, help_text="شناسه یکتای مزرعه")
|
|
sensor_uuid = serializers.CharField(required=False, help_text="نام قدیمی برای farm_uuid")
|
|
plant_name = serializers.CharField(required=False, allow_blank=True, help_text="نام گیاه")
|
|
growth_stage = serializers.CharField(required=False, allow_blank=True, help_text="مرحله رشد")
|
|
query = serializers.CharField(required=False, allow_blank=True, help_text="سوال اختیاری")
|
|
|
|
def validate(self, attrs):
|
|
farm_uuid = attrs.get("farm_uuid") or attrs.get("sensor_uuid")
|
|
if not farm_uuid:
|
|
raise serializers.ValidationError({"farm_uuid": "farm_uuid الزامی است."})
|
|
attrs["farm_uuid"] = farm_uuid
|
|
return attrs
|
|
|
|
|
|
class PestDiseaseRiskSummaryRequestSerializer(serializers.Serializer):
|
|
farm_uuid = serializers.CharField(required=False, help_text="شناسه یکتای مزرعه")
|
|
sensor_uuid = serializers.CharField(required=False, help_text="نام قدیمی برای farm_uuid")
|
|
|
|
def validate(self, attrs):
|
|
farm_uuid = attrs.get("farm_uuid") or attrs.get("sensor_uuid")
|
|
if not farm_uuid:
|
|
raise serializers.ValidationError({"farm_uuid": "farm_uuid الزامی است."})
|
|
attrs["farm_uuid"] = farm_uuid
|
|
return attrs
|
|
|
|
|
|
class PestDiseaseRiskSummaryResponseSerializer(serializers.Serializer):
|
|
farm_uuid = serializers.CharField()
|
|
diseaseRisk = serializers.JSONField()
|
|
pestRisk = serializers.JSONField()
|
|
drivers = serializers.JSONField()
|