добавил метод для удаления из избранного
This commit is contained in:
parent
be329fe92a
commit
7fb16f3989
|
|
@ -42,4 +42,14 @@ class SongSchema(AutoSchema):
|
||||||
schema=coreschema.String(description='Изображение трека')
|
schema=coreschema.String(description='Изображение трека')
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
class DeleteSongSchema(AutoSchema):
|
||||||
|
def get_serializer_fields(self, path, method):
|
||||||
|
return [
|
||||||
|
coreapi.Field(
|
||||||
|
name='song_id',
|
||||||
|
location='form',
|
||||||
|
required=False,
|
||||||
|
schema=coreschema.Integer(description='ID трека')
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -5,8 +5,8 @@ from rest_framework.decorators import action
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
|
|
||||||
from .schemas import SongSchema
|
from .schemas import SongSchema, DeleteSongSchema
|
||||||
from .models import Song
|
from .models import Song, FavoriteSong
|
||||||
from .serializers import SongSerializer, FavoriteSongSerializer
|
from .serializers import SongSerializer, FavoriteSongSerializer
|
||||||
|
|
||||||
class SongViewSet(ViewSet):
|
class SongViewSet(ViewSet):
|
||||||
|
|
@ -30,4 +30,13 @@ class SongViewSet(ViewSet):
|
||||||
return Response(serializer_1.data, status=status.HTTP_201_CREATED)
|
return Response(serializer_1.data, status=status.HTTP_201_CREATED)
|
||||||
else:
|
else:
|
||||||
return Response(serializer_1.errors, status=status.HTTP_400_BAD_REQUEST)
|
return Response(serializer_1.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
@action(detail=False, methods=['post'], schema=DeleteSongSchema())
|
||||||
|
def delete_song(self, request):
|
||||||
|
song_id = request.data['track_id']
|
||||||
|
user_id = request.user.pk
|
||||||
|
item = FavoriteSong.objects.filter(song=song_id, user=user_id)
|
||||||
|
item.delete()
|
||||||
|
return Response(status=status.HTTP_202_ACCEPTED)
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue