Files
Backend/yield_harvest/serializers.py
T

47 lines
2.3 KiB
Python
Raw Normal View History

2026-04-10 16:12:51 +03:30
from rest_framework import serializers
class YieldPredictionCardSerializer(serializers.Serializer):
id = serializers.CharField(required=False, allow_blank=True)
title = serializers.CharField(required=False, allow_blank=True)
subtitle = serializers.CharField(required=False, allow_blank=True)
stats = serializers.CharField(required=False, allow_blank=True)
avatarColor = serializers.CharField(required=False, allow_blank=True)
avatarIcon = serializers.CharField(required=False, allow_blank=True)
chipText = serializers.CharField(required=False, allow_blank=True)
chipColor = serializers.CharField(required=False, allow_blank=True)
class ChartSeriesSerializer(serializers.Serializer):
name = serializers.CharField(required=False, allow_blank=True)
data = serializers.ListField(child=serializers.FloatField(), required=False)
class ChartSummaryItemSerializer(serializers.Serializer):
title = serializers.CharField(required=False, allow_blank=True)
subtitle = serializers.CharField(required=False, allow_blank=True)
amount = serializers.CharField(required=False, allow_blank=True)
avatarColor = serializers.CharField(required=False, allow_blank=True)
avatarIcon = serializers.CharField(required=False, allow_blank=True)
class YieldPredictionChartSerializer(serializers.Serializer):
categories = serializers.ListField(child=serializers.CharField(), required=False)
series = ChartSeriesSerializer(many=True, required=False)
summary = ChartSummaryItemSerializer(many=True, required=False)
class HarvestPredictionCardSerializer(serializers.Serializer):
date = serializers.CharField(required=False, allow_blank=True)
dateFormatted = serializers.CharField(required=False, allow_blank=True)
daysUntil = serializers.IntegerField(required=False)
description = serializers.CharField(required=False, allow_blank=True)
optimalWindowStart = serializers.CharField(required=False, allow_blank=True)
optimalWindowEnd = serializers.CharField(required=False, allow_blank=True)
class YieldHarvestSummarySerializer(serializers.Serializer):
yield_prediction_card = YieldPredictionCardSerializer(required=False)
yield_prediction_chart = YieldPredictionChartSerializer(required=False)
harvest_prediction_card = HarvestPredictionCardSerializer(required=False)