Files
Ai/weather/serializers.py
T
2026-04-25 17:22:41 +03:30

38 lines
1.5 KiB
Python

from rest_framework import serializers
class FarmWeatherRequestSerializer(serializers.Serializer):
farm_uuid = serializers.UUIDField(required=True, help_text="شناسه یکتای مزرعه")
class WeatherChartDataSerializer(serializers.Serializer):
labels = serializers.ListField(child=serializers.CharField())
series = serializers.ListField(child=serializers.ListField(child=serializers.FloatField()))
class FarmWeatherResponseSerializer(serializers.Serializer):
condition = serializers.CharField()
temperature = serializers.FloatField()
unit = serializers.CharField()
humidity = serializers.FloatField()
windSpeed = serializers.FloatField()
windUnit = serializers.CharField()
chartData = WeatherChartDataSerializer()
class WaterNeedPredictionRequestSerializer(serializers.Serializer):
farm_uuid = serializers.UUIDField(required=True, help_text="شناسه یکتای مزرعه")
class WaterNeedPredictionResponseSerializer(serializers.Serializer):
farm_uuid = serializers.CharField()
totalNext7Days = serializers.FloatField()
unit = serializers.CharField()
categories = serializers.ListField(child=serializers.CharField())
series = serializers.JSONField()
dailyBreakdown = serializers.JSONField()
insight = serializers.JSONField()
knowledge_base = serializers.CharField(allow_null=True, required=False)
tone_file = serializers.CharField(allow_null=True, required=False)
raw_response = serializers.CharField(allow_null=True, required=False)