добавил метод для удаления из избранного
This commit is contained in:
parent
be329fe92a
commit
7fb16f3989
|
|
@ -43,3 +43,13 @@ class SongSchema(AutoSchema):
|
|||
),
|
||||
]
|
||||
|
||||
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 django.shortcuts import get_object_or_404
|
||||
|
||||
from .schemas import SongSchema
|
||||
from .models import Song
|
||||
from .schemas import SongSchema, DeleteSongSchema
|
||||
from .models import Song, FavoriteSong
|
||||
from .serializers import SongSerializer, FavoriteSongSerializer
|
||||
|
||||
class SongViewSet(ViewSet):
|
||||
|
|
@ -31,3 +31,12 @@ class SongViewSet(ViewSet):
|
|||
else:
|
||||
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