diff --git a/server/proj/audio/views.py b/server/proj/audio/views.py index 462a111..65bbeed 100644 --- a/server/proj/audio/views.py +++ b/server/proj/audio/views.py @@ -15,25 +15,20 @@ from .models import Song, FavoriteSong from .serializers import SongSerializer, FavoriteSongSerializer class SongViewSet(GenericViewSet): - permission_classes_by_action = { - 'list': [IsAuthenticated], - 'retrieve': [IsAuthenticated], - 'create_song': [IsAuthenticated] - } + serializer_class = SongSerializer + permission_classes = (IsAuthenticated,) + queryset = Song.objects.all() def list(self, request): - try: - songs_pk = FavoriteSong.objects.filter(user=request.user, song__isnull=False).values_list('song_id', flat=True) - queryset = Song.objects.filter(id__in=songs_pk) - except ObjectDoesNotExist: - return Response({"error": 'Объекта не существует'}, status=status.HTTP_404_NOT_FOUND) + songs_pk = FavoriteSong.objects.filter(user=request.user, song__isnull=False).values_list('song_id', flat=True) + queryset = Song.objects.filter(id__in=songs_pk) serializer = SongSerializer(queryset, many=True) - return Response(serializer.data) + return Response(f"{request.build_absolute_uri()}") def retrieve(self, request, pk=None): try: - song_obj = Song.objects.get(azura_id=pk).pk - queryset = FavoriteSong.objects.get(user=request.user.pk, song=song_obj) + song_obj = Song.objects.get(azura_id=pk) + queryset = FavoriteSong.objects.get(user=request.user, song=song_obj) except ObjectDoesNotExist: return Response({"error": 'Объекта не существует'}, status=status.HTTP_404_NOT_FOUND) serializer = FavoriteSongSerializer(queryset)