[chore] Global project refactoring
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
from django.contrib.auth.password_validation import validate_password
|
||||
from rest_framework import serializers
|
||||
|
||||
from api.users.models import User
|
||||
|
||||
|
||||
class UserRegistrationSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = [
|
||||
"first_name",
|
||||
"last_name",
|
||||
"username",
|
||||
"email",
|
||||
"password",
|
||||
"country",
|
||||
"city",
|
||||
]
|
||||
|
||||
def validate_password(self, value):
|
||||
validate_password(value)
|
||||
|
||||
return value
|
||||
|
||||
|
||||
class UserLoginSerializer(serializers.Serializer):
|
||||
remember_me = serializers.BooleanField(default=False, required=False)
|
||||
username = serializers.CharField()
|
||||
password = serializers.CharField()
|
||||
|
||||
|
||||
class UserProfileSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = (
|
||||
"first_name",
|
||||
"last_name",
|
||||
"username",
|
||||
"email",
|
||||
"birthday",
|
||||
"country",
|
||||
"city",
|
||||
"bio",
|
||||
"avatar",
|
||||
"experience",
|
||||
"specialization",
|
||||
"achievements",
|
||||
"skills",
|
||||
)
|
||||
|
||||
|
||||
class UpdateProfileSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = [
|
||||
"countryCode",
|
||||
"isPublic",
|
||||
"phone",
|
||||
"image",
|
||||
]
|
||||
|
||||
def to_representation(self, instance):
|
||||
data = super().to_representation(instance)
|
||||
if data["image"] is None:
|
||||
del data["image"]
|
||||
if data["phone"] is None:
|
||||
del data["phone"]
|
||||
return data
|
||||
|
||||
|
||||
class PasswordChangeSerializer(serializers.Serializer):
|
||||
# ruff: noqa: N815
|
||||
old_password = serializers.CharField(required=True)
|
||||
new_password = serializers.CharField(required=True)
|
||||
|
||||
def validate_password(self, value):
|
||||
validate_password(value)
|
||||
|
||||
return value
|
||||
Reference in New Issue
Block a user