Add ability to specifiy download queue sort order
This commit is contained in:
parent
b6942c8352
commit
c39c4bacac
|
|
@ -51,6 +51,16 @@ class DownloadListQuerySerializer(
|
|||
page = serializers.IntegerField(required=False)
|
||||
q = serializers.CharField(required=False, help_text="Search Query")
|
||||
error = serializers.BooleanField(required=False, allow_null=True)
|
||||
sort = serializers.ChoiceField(
|
||||
choices=["published", "timestamp"],
|
||||
required=False,
|
||||
help_text="Sort field",
|
||||
)
|
||||
order = serializers.ChoiceField(
|
||||
choices=["asc", "desc"],
|
||||
required=False,
|
||||
help_text="Sort order",
|
||||
)
|
||||
|
||||
|
||||
class DownloadListQueueDeleteQuerySerializer(serializers.Serializer):
|
||||
|
|
|
|||
|
|
@ -42,20 +42,21 @@ class DownloadApiListView(ApiBaseView):
|
|||
)
|
||||
def get(self, request):
|
||||
"""get download queue list"""
|
||||
query_filter = request.GET.get("filter", False)
|
||||
serializer = DownloadListQuerySerializer(data=request.query_params)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
validated_data = serializer.validated_data
|
||||
|
||||
sort_field = validated_data.get("sort", "timestamp")
|
||||
sort_order = validated_data.get("order", "asc")
|
||||
self.data.update(
|
||||
{
|
||||
"sort": [
|
||||
{"auto_start": {"order": "desc"}},
|
||||
{"timestamp": {"order": "asc"}},
|
||||
{sort_field: {"order": sort_order}},
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
serializer = DownloadListQuerySerializer(data=request.query_params)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
validated_data = serializer.validated_data
|
||||
|
||||
must_list = []
|
||||
query_filter = validated_data.get("filter")
|
||||
if query_filter:
|
||||
|
|
|
|||
Loading…
Reference in New Issue