UPDATE
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class IrrigationFarmDataSerializer(serializers.Serializer):
|
||||
soilType = serializers.CharField(required=False, allow_blank=True)
|
||||
waterQuality = serializers.CharField(required=False, allow_blank=True)
|
||||
climateZone = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
|
||||
class IrrigationRecommendRequestSerializer(serializers.Serializer):
|
||||
crop_id = serializers.CharField(required=False, allow_blank=True)
|
||||
farm_data = IrrigationFarmDataSerializer(required=False)
|
||||
soilType = serializers.CharField(required=False, allow_blank=True)
|
||||
waterQuality = serializers.CharField(required=False, allow_blank=True)
|
||||
climateZone = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
|
||||
class IrrigationPlanSerializer(serializers.Serializer):
|
||||
frequencyPerWeek = serializers.CharField(required=False, allow_blank=True)
|
||||
durationMinutes = serializers.CharField(required=False, allow_blank=True)
|
||||
bestTimeOfDay = serializers.CharField(required=False, allow_blank=True)
|
||||
moistureLevel = serializers.CharField(required=False, allow_blank=True)
|
||||
warning = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
|
||||
class IrrigationWaterBalanceDaySerializer(serializers.Serializer):
|
||||
forecast_date = serializers.CharField(required=False, allow_blank=True)
|
||||
et0_mm = serializers.FloatField(required=False)
|
||||
etc_mm = serializers.FloatField(required=False)
|
||||
effective_rainfall_mm = serializers.FloatField(required=False)
|
||||
gross_irrigation_mm = serializers.FloatField(required=False)
|
||||
irrigation_timing = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
|
||||
class IrrigationCropProfileSerializer(serializers.Serializer):
|
||||
kc_initial = serializers.FloatField(required=False)
|
||||
kc_mid = serializers.FloatField(required=False)
|
||||
kc_end = serializers.FloatField(required=False)
|
||||
|
||||
|
||||
class IrrigationWaterBalanceSerializer(serializers.Serializer):
|
||||
daily = IrrigationWaterBalanceDaySerializer(many=True, required=False)
|
||||
crop_profile = IrrigationCropProfileSerializer(required=False)
|
||||
active_kc = serializers.FloatField(required=False)
|
||||
|
||||
|
||||
class IrrigationRecommendResponseDataSerializer(serializers.Serializer):
|
||||
plan = IrrigationPlanSerializer(required=False)
|
||||
raw_response = serializers.CharField(required=False, allow_blank=True)
|
||||
water_balance = IrrigationWaterBalanceSerializer(required=False)
|
||||
status = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
|
||||
class IrrigationTaskSubmitDataSerializer(serializers.Serializer):
|
||||
task_id = serializers.CharField(required=False, allow_blank=True)
|
||||
status = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
|
||||
class IrrigationTaskStatusDataSerializer(serializers.Serializer):
|
||||
task_id = serializers.CharField(required=False, allow_blank=True)
|
||||
status = serializers.CharField(required=False, allow_blank=True)
|
||||
result = IrrigationRecommendResponseDataSerializer(required=False)
|
||||
Reference in New Issue
Block a user