mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-04 21:19:15 +02:00
API Views/serializers/tests for activity (#141)
This commit is contained in:
parent
1f2e14b20e
commit
18d8baae34
7 changed files with 156 additions and 0 deletions
|
@ -1,5 +1,7 @@
|
|||
from rest_framework import serializers
|
||||
|
||||
from funkwhale_api.activity import record
|
||||
|
||||
|
||||
class ModelSerializer(serializers.ModelSerializer):
|
||||
id = serializers.CharField(source='get_activity_url')
|
||||
|
@ -8,3 +10,15 @@ class ModelSerializer(serializers.ModelSerializer):
|
|||
|
||||
def get_url(self, obj):
|
||||
return self.get_id(obj)
|
||||
|
||||
|
||||
class AutoSerializer(serializers.Serializer):
|
||||
"""
|
||||
A serializer that will automatically use registered activity serializers
|
||||
to serialize an henerogeneous list of objects (favorites, listenings, etc.)
|
||||
"""
|
||||
def to_representation(self, instance):
|
||||
serializer = record.registry[instance._meta.label]['serializer'](
|
||||
instance
|
||||
)
|
||||
return serializer.data
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue