47 lines
2.3 KiB
Python
47 lines
2.3 KiB
Python
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)
|