added validation to UserSerializer

This commit is contained in:
Anatoly 2019-09-06 11:55:56 +03:00
parent 20921719d3
commit 5449891394
2 changed files with 12 additions and 2 deletions

View File

@ -45,15 +45,19 @@ class UserQuerySet(models.QuerySet):
return self.filter(is_active=switcher)
def by_oauth2_access_token(self, token):
"""Find user by access token"""
"""Find users by access token"""
return self.filter(oauth2_provider_accesstoken__token=token,
oauth2_provider_accesstoken__expires__gt=timezone.now())
def by_oauth2_refresh_token(self, token):
"""Find user by access token"""
"""Find users by access token"""
return self.filter(oauth2_provider_refreshtoken__token=token,
oauth2_provider_refreshtoken__expires__gt=timezone.now())
def by_username(self, username: str):
"""Filter users by username."""
return self.filter(username=username)
class User(ImageMixin, AbstractUser):
"""Base user model."""

View File

@ -39,6 +39,12 @@ class UserSerializer(serializers.ModelSerializer):
raise serializers.ValidationError()
return value
def validate_username(self, value):
"""Validate username"""
if models.User.objects.by_username(username=value).exists():
raise serializers.ValidationError()
return value
def update(self, instance, validated_data):
"""
Override update method