fix(radios): Make routing REST compliant

This commit is contained in:
Georg Krause 2023-07-04 10:49:27 +02:00 committed by Petitminion
parent 064accf288
commit 8bc1452464
2 changed files with 8 additions and 7 deletions

View File

@ -4,7 +4,7 @@ from . import views
router = routers.OptionalSlashRouter() router = routers.OptionalSlashRouter()
router.register(r"tracks", views.RadioSessionTracksViewSet, "tracks") router.register(r"sessions", views.V2_RadioSessionViewSet, "tracks")
urlpatterns = router.urls urlpatterns = router.urls

View File

@ -165,15 +165,16 @@ class V1_RadioSessionTrackViewSet(mixins.CreateModelMixin, viewsets.GenericViewS
return super().get_serializer_class(*args, **kwargs) return super().get_serializer_class(*args, **kwargs)
class RadioSessionTracksViewSet(mixins.ListModelMixin, viewsets.GenericViewSet): class V2_RadioSessionViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
"""Return a list of RadioSessionTracks""" """Returns a list of RadioSessions"""
serializer_class = serializers.RadioSessionTrackSerializer serializer_class = serializers.RadioSessionSerializer
queryset = models.RadioSessionTrack.objects.all() queryset = models.RadioSession.objects.all()
permission_classes = [] permission_classes = []
@extend_schema(operation_id="get_radio_tracks_get") @action(detail=True, serializer_class=serializers.RadioSessionTrackSerializer)
def list(self, request, *args, **kwargs): def tracks(self, request, *args, **kwargs):
"""Returns tracks for the given radio session"""
serializer = self.get_serializer(data=request.query_params) serializer = self.get_serializer(data=request.query_params)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
session = serializer.validated_data["session"] session = serializer.validated_data["session"]