22from rest_framework .request import Request
33
44from metrics .api .serializers import help_texts , plots
5+ from metrics .api .serializers .downloads .common import BaseDownloadsSerializer
56from metrics .domain .common .utils import (
67 DEFAULT_CHART_HEIGHT ,
78 DEFAULT_CHART_WIDTH ,
8- ChartAxisFields ,
99 DataSourceFileType ,
1010 extract_metric_group_from_metric ,
1111)
1212from metrics .domain .models import ChartRequestParams
1313
14- FILE_FORMAT_CHOICES : list [str ] = ["json" , "csv" ]
15-
1614
1715class DownloadPlotSerializer (plots .PlotSerializer ):
1816 # Override these two fields as they are merely optional for this serializer
@@ -34,33 +32,7 @@ class DownloadListSerializer(serializers.ListSerializer):
3432 child = DownloadPlotSerializer ()
3533
3634
37- class DownloadsSerializer (serializers .Serializer ):
38- file_format = serializers .ChoiceField (
39- choices = FILE_FORMAT_CHOICES ,
40- required = True ,
41- help_text = help_texts .FILE_DOWNLOAD_FORMAT ,
42- )
43- x_axis = serializers .ChoiceField (
44- choices = ChartAxisFields .choices (),
45- required = False ,
46- allow_blank = True ,
47- allow_null = True ,
48- help_text = help_texts .CHART_X_AXIS ,
49- )
50- y_axis = serializers .ChoiceField (
51- choices = ChartAxisFields .choices (),
52- required = False ,
53- allow_blank = True ,
54- allow_null = True ,
55- help_text = help_texts .CHART_Y_AXIS ,
56- )
57- confidence_intervals = serializers .BooleanField (
58- required = False ,
59- default = False ,
60- allow_null = True ,
61- help_text = help_texts .CONFIDENCE_INTERVALS ,
62- )
63-
35+ class SingleCategoryDownloadsSerializer (BaseDownloadsSerializer ):
6436 plots = DownloadListSerializer ()
6537
6638 def to_models (self , request : Request ) -> ChartRequestParams :
@@ -103,11 +75,3 @@ def to_models(self, request: Request) -> ChartRequestParams:
10375 plot .override_y_axis_choice_to_none = True
10476
10577 return plots_collection
106-
107-
108- class BulkDownloadsSerializer (serializers .Serializer ):
109- file_format = serializers .ChoiceField (
110- choices = FILE_FORMAT_CHOICES ,
111- required = True ,
112- help_text = help_texts .FILE_DOWNLOAD_FORMAT ,
113- )
0 commit comments