Update API to be more complete
This commit is contained in:
0
vrobbler/apps/scrobbles/api/__init__.py
Normal file
0
vrobbler/apps/scrobbles/api/__init__.py
Normal file
33
vrobbler/apps/scrobbles/api/serializers.py
Normal file
33
vrobbler/apps/scrobbles/api/serializers.py
Normal file
@ -0,0 +1,33 @@
|
||||
from rest_framework import serializers
|
||||
from scrobbles.models import (
|
||||
AudioScrobblerTSVImport,
|
||||
KoReaderImport,
|
||||
LastFmImport,
|
||||
Scrobble,
|
||||
)
|
||||
|
||||
|
||||
class ScrobbleSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Scrobble
|
||||
fields = "__all__"
|
||||
|
||||
|
||||
class KoReaderImportSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = KoReaderImport
|
||||
fields = "__all__"
|
||||
|
||||
|
||||
class AudioScrobblerTSVImportSerializer(
|
||||
serializers.HyperlinkedModelSerializer
|
||||
):
|
||||
class Meta:
|
||||
model = AudioScrobblerTSVImport
|
||||
fields = "__all__"
|
||||
|
||||
|
||||
class LastFmImportSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = LastFmImport
|
||||
fields = "__all__"
|
||||
49
vrobbler/apps/scrobbles/api/views.py
Normal file
49
vrobbler/apps/scrobbles/api/views.py
Normal file
@ -0,0 +1,49 @@
|
||||
from rest_framework import permissions, viewsets
|
||||
from scrobbles.api.serializers import (
|
||||
AudioScrobblerTSVImportSerializer,
|
||||
KoReaderImportSerializer,
|
||||
LastFmImportSerializer,
|
||||
ScrobbleSerializer,
|
||||
)
|
||||
from scrobbles.models import (
|
||||
AudioScrobblerTSVImport,
|
||||
KoReaderImport,
|
||||
Scrobble,
|
||||
LastFmImport,
|
||||
)
|
||||
|
||||
|
||||
class ScrobbleViewSet(viewsets.ModelViewSet):
|
||||
queryset = Scrobble.objects.all().order_by('-timestamp')
|
||||
serializer_class = ScrobbleSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(user=self.request.user)
|
||||
|
||||
|
||||
class KoReaderImportViewSet(viewsets.ModelViewSet):
|
||||
queryset = KoReaderImport.objects.all().order_by('-created')
|
||||
serializer_class = KoReaderImportSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(user=self.request.user)
|
||||
|
||||
|
||||
class AudioScrobblerTSVImportViewSet(viewsets.ModelViewSet):
|
||||
queryset = AudioScrobblerTSVImport.objects.all().order_by('-created')
|
||||
serializer_class = AudioScrobblerTSVImportSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(user=self.request.user)
|
||||
|
||||
|
||||
class LastFmImportViewSet(viewsets.ModelViewSet):
|
||||
queryset = LastFmImport.objects.all().order_by('-created')
|
||||
serializer_class = LastFmImportSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(user=self.request.user)
|
||||
Reference in New Issue
Block a user