X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/ca8f4e8fef80cb603117ed579da8554f503698e5..29b00497f9103bb31f9e236bdf5844b9a6fa79ea:/src/api/serializers.py?ds=sidebyside diff --git a/src/api/serializers.py b/src/api/serializers.py index dae587c84..8d160b0e4 100644 --- a/src/api/serializers.py +++ b/src/api/serializers.py @@ -15,10 +15,11 @@ class PlainSerializer(serializers.ModelSerializer): class UserSerializer(serializers.ModelSerializer): premium = UserPremiumField() + confirmed = serializers.BooleanField(source='is_active') class Meta: model = User - fields = ['username', 'premium'] + fields = ['username', 'premium', 'confirmed'] class BookUserDataSerializer(serializers.ModelSerializer): @@ -30,3 +31,49 @@ class BookUserDataSerializer(serializers.ModelSerializer): class LoginSerializer(serializers.Serializer): username = serializers.CharField() password = serializers.CharField(style={'input_type': 'password'}) + + + +class RegisterSerializer(serializers.Serializer): + email = serializers.CharField() + password = serializers.CharField(style={'input_type': 'password'}) + options = serializers.ListField(child=serializers.IntegerField(), required=False) + + +class RefreshTokenSerializer(serializers.Serializer): + refresh_token = serializers.CharField(style={'input_type': 'password'}) + + +class RequestConfirmSerializer(serializers.Serializer): + email = serializers.CharField() + + +class DeleteAccountSerializer(serializers.Serializer): + password =serializers.CharField( + style={'input_type': 'password'} + ) + + def validate_password(self, value): + u = self.context['user'] + if not u.check_password(value): + raise serializers.ValidationError("Password incorrect.") + return value + + +class PasswordSerializer(serializers.Serializer): + old_password = serializers.CharField( + style={'input_type': 'password'} + ) + new_password = serializers.CharField( + style={'input_type': 'password'} + ) + + def validate_old_password(self, value): + u = self.context['user'] + if not u.check_password(value): + raise serializers.ValidationError("Password incorrect.") + return value + + +class ResetPasswordSerializer(serializers.Serializer): + email = serializers.EmailField()