profiles: block rework and tests

This commit is contained in:
AdrienLSH
2024-04-07 16:58:29 +02:00
parent 13a078eb82
commit 8912e39fa4
10 changed files with 115 additions and 91 deletions

View File

@ -0,0 +1,10 @@
from rest_framework.serializers import ModelSerializer
from ..models import BlockModel
class BlockSerializer(ModelSerializer):
class Meta:
model = BlockModel
fields = ['blocked']

View File

@ -0,0 +1,29 @@
from django.conf import settings
from django.utils.translation import gettext as _
from rest_framework import serializers
from ..models import ProfileModel
class ProfileSerializer(serializers.ModelSerializer):
username = serializers.ReadOnlyField(source='user.username')
avatar = serializers.ImageField(required=False)
class Meta:
model = ProfileModel
fields = ["username", "avatar", "user_id"]
def validate_avatar(self, value):
'''
Check that the image is not too large
'''
if value.size > settings.PROFILE_PICTURE_MAX_SIZE:
raise serializers.ValidationError(_('Image is too large.'))
return value
def to_representation(self, instance):
data = super().to_representation(instance)
data['avatar'] = data['avatar'][data['avatar'].find('/static/'):]
return data