mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-04 01:29:16 +02:00
Model, view and serializer for instance-level policies
This commit is contained in:
parent
ddffbeadfa
commit
0bc9bb65b0
14 changed files with 331 additions and 2 deletions
18
api/funkwhale_api/federation/fields.py
Normal file
18
api/funkwhale_api/federation/fields.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
from rest_framework import serializers
|
||||
|
||||
from . import models
|
||||
|
||||
|
||||
class ActorRelatedField(serializers.EmailField):
|
||||
def to_representation(self, value):
|
||||
return value.full_username
|
||||
|
||||
def to_interal_value(self, value):
|
||||
value = super().to_interal_value(value)
|
||||
username, domain = value.split("@")
|
||||
try:
|
||||
return models.Actor.objects.get(
|
||||
preferred_username=username, domain_id=domain
|
||||
)
|
||||
except models.Actor.DoesNotExist:
|
||||
raise serializers.ValidationError("Invalid actor name")
|
Loading…
Add table
Add a link
Reference in a new issue