Untitled
unknown
plain_text
9 months ago
2.5 kB
16
Indexable
class UserSerializer(serializers.ModelSerializer):
user_type = serializers.HiddenField(default=User.TYPE_CUSTOMER)
class Meta:
model = User
fields = ('id', 'email', 'mobile_number', 'first_name', 'last_name', 'password', 'avatar', 'user_type', 'email_confirmed')
extra_kwargs = {
'password': {'write_only': True},
'email': {'required': True},
'mobile_number': {'required': True},
'email_confirmed': {'read_only': True},
}
def validate_email(self, value):
if User.objects.filter(email=value).exists():
raise serializers.ValidationError("یک حساب کاربری با این ایمیل قبلا ایجاد شده است.")
return value
def validate_mobile_number(self, value):
if User.objects.filter(mobile_number=value).exists():
raise serializers.ValidationError("یک حساب کاربری با این شماره موبایل قبلا ایجاد شده است.")
return value
def validate_password(self, value):
validate_password(value)
return value
def create(self, validated_data):
user = User.objects.create_user(
username=validated_data['email'],
email=validated_data['email'],
mobile_number=validated_data['mobile_number'],
password=validated_data['password']
)
return user
class SignInSerializer(serializers.Serializer):
email = serializers.EmailField()
password = serializers.CharField()
class UserShortDetailSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'first_name', 'last_name', 'avatar')
class ChangePasswordSerializer(serializers.Serializer):
new_password = serializers.CharField(required=True, min_length=8)
class UserUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('first_name', 'last_name', 'avatar')
class TokenSerializer(serializers.Serializer):
token = serializers.CharField()
class GetEmailSerializer(serializers.Serializer):
email = serializers.EmailField()
class ResetPasswordSerializer(serializers.Serializer):
password = serializers.CharField(required=True, min_length=8)
token = serializers.CharField(required=True, min_length=10)
class CheckResetPasswordTokenSerializer(serializers.Serializer):
token = serializers.CharField(required=True, min_length=10)Editor is loading...
Leave a Comment