Added updatePassword view, added exception handler, added friends view
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from django.core.validators import RegexValidator
|
||||
from rest_framework import serializers
|
||||
|
||||
from api.users.models import Profile
|
||||
from api.users.models import Friendship, Profile
|
||||
|
||||
|
||||
class ProfileSerializer(serializers.ModelSerializer):
|
||||
@@ -29,6 +30,14 @@ class UpdateProfileSerializer(serializers.ModelSerializer):
|
||||
"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 PublicProfileSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
@@ -49,3 +58,25 @@ class PublicProfileSerializer(serializers.ModelSerializer):
|
||||
if data["phone"] is None:
|
||||
del data["phone"]
|
||||
return data
|
||||
|
||||
|
||||
class FriendshipSerializer(serializers.ModelSerializer):
|
||||
login = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Friendship
|
||||
fields = ["login", "addedAt"]
|
||||
|
||||
def get_login(self, obj):
|
||||
return obj.to_profile.login
|
||||
|
||||
|
||||
class PasswordChangeSerializer(serializers.Serializer):
|
||||
# ruff: noqa: N815
|
||||
oldPassword = serializers.CharField(required=True)
|
||||
newPassword = serializers.CharField(
|
||||
required=True,
|
||||
validators=[
|
||||
RegexValidator(r"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{6,100}$"),
|
||||
],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user