20 lines
778 B
Python
20 lines
778 B
Python
from rest_framework.views import APIView
|
|
from rest_framework.response import Response
|
|
from playlist.models import Album
|
|
from playlist.serializers import AlbumSerializer
|
|
from drf_spectacular.utils import extend_schema
|
|
|
|
class AlbumListView(APIView):
|
|
@extend_schema(responses={200: AlbumSerializer(many=True)})
|
|
def get(self, request):
|
|
albums = Album.objects.all()
|
|
serializer = AlbumSerializer(albums, many=True, context={'request': request})
|
|
return Response(serializer.data)
|
|
|
|
class AlbumDetailView(APIView):
|
|
@extend_schema(responses={200: AlbumSerializer})
|
|
def get(self, request, id):
|
|
album = Album.objects.get(pk=id)
|
|
serializer = AlbumSerializer(album, context={'request': request})
|
|
return Response(serializer.data)
|