This repository has been archived on 2022-05-05. You can view files and clone it, but cannot push or open issues or pull requests.
userausfall/userausfall/rest_api/serializers.py

32 lines
947 B
Python
Raw Normal View History

from rest_framework import serializers
from userausfall.models import User
class UserActivationSerializer(serializers.Serializer):
password = serializers.CharField()
2021-05-18 11:06:02 +02:00
class UserSerializer(serializers.ModelSerializer):
2021-05-21 11:06:33 +02:00
confidant_email = serializers.EmailField()
2021-05-18 12:07:03 +02:00
class Meta:
model = User
fields = ("pk", "email", "username", "confidant_email")
2021-08-02 10:14:38 +02:00
read_only_fields = ("email",)
2021-05-18 11:06:02 +02:00
def update(self, instance: User, validated_data):
confidant_email = validated_data.pop("confidant_email")
confidant, _ = User.objects.get_or_create(email=confidant_email)
instance.confidant_unconfirmed = confidant
2021-05-18 11:06:02 +02:00
return super().update(instance, validated_data)
2021-08-02 10:14:38 +02:00
class CreateUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ("username", "password")
def create(self, validated_data):
return User.objects.create_user(**validated_data)