26 lines
832 B
Python
26 lines
832 B
Python
from rest_framework import serializers
|
|
|
|
from userausfall.models import TrustBridge, User
|
|
|
|
|
|
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ["username"]
|
|
# the UniqueValidator for username prevents successful validation for existing users
|
|
extra_kwargs = {"username": {"validators": []}}
|
|
|
|
|
|
class TrustBridgeSerializer(serializers.HyperlinkedModelSerializer):
|
|
trust_giver = UserSerializer()
|
|
|
|
class Meta:
|
|
model = TrustBridge
|
|
fields = ["is_trusted", "trust_giver"]
|
|
read_only_fields = ["is_trusted"]
|
|
|
|
def update(self, instance: TrustBridge, validated_data):
|
|
instance.trust_giver, _ = User.objects.get_or_create(username=validated_data["trust_giver"]["username"])
|
|
instance.save()
|
|
return instance
|