From 7fcda8ed5935f90497a64640cbecd4296c104fa2 Mon Sep 17 00:00:00 2001 From: Mike0001-droid Date: Fri, 7 Jun 2024 17:59:55 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB=20?= =?UTF-8?q?=D1=80=D0=B5=D1=82=D1=80=D0=B8=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/proj/audio/views.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/server/proj/audio/views.py b/server/proj/audio/views.py index 9a3bc71..aa6b3a5 100644 --- a/server/proj/audio/views.py +++ b/server/proj/audio/views.py @@ -16,6 +16,18 @@ class SongViewSet(ViewSet): serializer = SongSerializer(queryset, many=True) return Response(serializer.data) + def retrieve(self, request, pk=None): + user_pk = request.user.pk + song_obj = get_object_or_404(Song, azura_id=pk).pk + queryset = FavoriteSong.objects.filter(user=user_pk, song=song_obj).exists() + if queryset: + serializer = FavoriteSongSerializer(queryset=queryset) + resp = serializer.data + resp.update(is_favorite=True) + return Response(serializer.data, status=status.HTTP_201_CREATED) + else: + return Response('Трека нет... Стёпа извини...', status=status.HTTP_400_BAD_REQUEST) + @action(detail=False, methods=['post'], schema=SongSchema()) def create_song(self, request): song = Song.objects.filter(azura_id = request.data['azura_id']) @@ -23,7 +35,6 @@ class SongViewSet(ViewSet): data = { "song": song[0].id, "user": request.user.pk - } serializer_1 = FavoriteSongSerializer(data=data) if serializer_1.is_valid(): @@ -51,7 +62,6 @@ class SongViewSet(ViewSet): "song": song[0].id, "user": request.user.pk } - serializer_1 = FavoriteSongSerializer(data=data) if serializer_1.is_valid(): serializer_1.save()