mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-08-26 06:09:41 +00:00
[ZBKBCK-346] change password and forgot password api has been optimised
This commit is contained in:
@ -104,10 +104,12 @@ class ResetPasswordSerializer(serializers.Serializer):
|
||||
return user_opt_details
|
||||
return ''
|
||||
|
||||
|
||||
class ChangePasswordSerializer(serializers.Serializer):
|
||||
"""Update Password after verification"""
|
||||
current_password = serializers.CharField(max_length=100)
|
||||
current_password = serializers.CharField(max_length=100, required=True)
|
||||
new_password = serializers.CharField(required=True)
|
||||
|
||||
class Meta(object):
|
||||
"""Meta info"""
|
||||
model = User
|
||||
@ -118,25 +120,36 @@ class ChangePasswordSerializer(serializers.Serializer):
|
||||
if self.context.password not in ('', None) and user.check_password(value):
|
||||
return value
|
||||
raise serializers.ValidationError(ERROR_CODE['2015'])
|
||||
|
||||
def create(self, validated_data):
|
||||
"""
|
||||
|
||||
"""
|
||||
new_password = validated_data.pop('new_password')
|
||||
current_password = validated_data.pop('current_password')
|
||||
"""Check new password is different from current password"""
|
||||
# Check new password is different from current password
|
||||
if new_password == current_password:
|
||||
raise serializers.ValidationError({"details": ERROR_CODE['2026']})
|
||||
user_details = User.objects.filter(email=self.context).last()
|
||||
if user_details:
|
||||
user_details.set_password(new_password)
|
||||
user_details.save()
|
||||
return {'password':new_password}
|
||||
return ''
|
||||
|
||||
user_details = self.context
|
||||
user_details.set_password(new_password)
|
||||
user_details.save()
|
||||
return {'password':new_password}
|
||||
|
||||
|
||||
class ForgotPasswordSerializer(serializers.Serializer):
|
||||
"""Forget password serializer"""
|
||||
email = serializers.EmailField()
|
||||
email = serializers.EmailField(required=True)
|
||||
|
||||
def validate_email(self, value):
|
||||
"""
|
||||
validate email exist ot not
|
||||
value: string
|
||||
return none
|
||||
"""
|
||||
if not User.objects.get(email=value):
|
||||
raise serializers.ValidationError({'details': ERROR_CODE['2004']})
|
||||
return value
|
||||
|
||||
class AdminLoginSerializer(serializers.ModelSerializer):
|
||||
"""admin login serializer"""
|
||||
|
Reference in New Issue
Block a user