|
|
|
@ -164,6 +164,21 @@ class VideoPlaylistListAPIView(generics.ListAPIView): |
|
|
|
|
|
|
|
# Filter playlists by these IDs |
|
|
|
queryset = queryset.filter(id__in=bookmarked_ids) |
|
|
|
sort = self.request.query_params.get('sort', '-created_at') |
|
|
|
allowed_sorts = [ |
|
|
|
'created_at', '-created_at', 'view_count', '-view_count', |
|
|
|
'title', '-title','order' , 'order', |
|
|
|
'total_time', '-total_time','-created_at','created_at' |
|
|
|
] |
|
|
|
|
|
|
|
if sort in allowed_sorts: |
|
|
|
# Handle multiple sort fields (e.g., '-pin,-created_at') |
|
|
|
if ',' in sort: |
|
|
|
queryset = queryset.order_by(*sort.split(',')) |
|
|
|
else: |
|
|
|
queryset = queryset.order_by(sort) |
|
|
|
else: |
|
|
|
queryset = queryset.order_by('-created_at') |
|
|
|
|
|
|
|
return queryset |
|
|
|
|
|
|
|
|