mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-04 05:39:16 +02:00
Fix #260: Implemented scrobble endpoint of subsonic API
This commit is contained in:
parent
9ee0f09ff4
commit
0f792bf75c
5 changed files with 72 additions and 2 deletions
|
@ -4,6 +4,7 @@ from django.db.models import functions, Count
|
|||
|
||||
from rest_framework import serializers
|
||||
|
||||
from funkwhale_api.history import models as history_models
|
||||
from funkwhale_api.music import models as music_models
|
||||
|
||||
|
||||
|
@ -228,3 +229,18 @@ def get_music_directory_data(artist):
|
|||
td['size'] = tf.size
|
||||
data['child'].append(td)
|
||||
return data
|
||||
|
||||
|
||||
class ScrobbleSerializer(serializers.Serializer):
|
||||
submission = serializers.BooleanField(default=True, required=False)
|
||||
id = serializers.PrimaryKeyRelatedField(
|
||||
queryset=music_models.Track.objects.annotate(
|
||||
files_count=Count('files')
|
||||
).filter(files_count__gt=0)
|
||||
)
|
||||
|
||||
def create(self, data):
|
||||
return history_models.Listening.objects.create(
|
||||
user=self.context['user'],
|
||||
track=data['id'],
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue