X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/18aa8ca52202003e5628a882f3469a04d905cc05..29b00497f9103bb31f9e236bdf5844b9a6fa79ea:/src/api/serializers.py diff --git a/src/api/serializers.py b/src/api/serializers.py index e0bf0eeee..8d160b0e4 100644 --- a/src/api/serializers.py +++ b/src/api/serializers.py @@ -15,13 +15,65 @@ 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): class Meta: model = BookUserData fields = ['state'] + + +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()