fix(radios): Make routing REST compliant
This commit is contained in:
parent
064accf288
commit
8bc1452464
|
@ -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
|
||||||
|
|
|
@ -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"]
|
||||||
|
|
Loading…
Reference in New Issue