Model, view and serializer for instance-level policies

This commit is contained in:
Eliot Berriot 2019-01-07 09:45:53 +01:00
parent ddffbeadfa
commit 0bc9bb65b0
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
14 changed files with 331 additions and 2 deletions

View 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")