Files
Ai/soile/serializers.py
T

47 lines
1.9 KiB
Python
Raw Normal View History

2026-04-25 17:22:41 +03:30
from rest_framework import serializers
class SoilMoistureHeatmapRequestSerializer(serializers.Serializer):
farm_uuid = serializers.UUIDField(required=True, help_text="شناسه یکتای مزرعه")
class SoilMoistureHeatmapResponseSerializer(serializers.Serializer):
farm_uuid = serializers.CharField()
location = serializers.JSONField()
current_sensor = serializers.JSONField()
soil_profile = serializers.JSONField()
timestamp = serializers.CharField(allow_null=True)
grid_resolution = serializers.JSONField(allow_null=True)
grid_cells = serializers.JSONField()
sensor_points = serializers.JSONField()
quality_legend = serializers.JSONField()
class SoilAnomalyDetectionRequestSerializer(serializers.Serializer):
farm_uuid = serializers.UUIDField(required=True, help_text="شناسه یکتای مزرعه")
class SoilHealthSummaryRequestSerializer(serializers.Serializer):
farm_uuid = serializers.UUIDField(required=True, help_text="شناسه یکتای مزرعه")
class SoilHealthSummaryResponseSerializer(serializers.Serializer):
farm_uuid = serializers.CharField()
healthScore = serializers.IntegerField()
profileSource = serializers.CharField()
healthScoreDetails = serializers.JSONField()
healthLanguage = serializers.JSONField()
avgSoilMoisture = serializers.IntegerField()
avgSoilMoistureRaw = serializers.FloatField()
avgSoilMoistureStatus = serializers.CharField()
class SoilAnomalyDetectionResponseSerializer(serializers.Serializer):
farm_uuid = serializers.CharField()
generated_at = serializers.CharField()
anomalies = serializers.JSONField()
interpretation = 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)