30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
from rest_framework import serializers
|
|
from django.conf import settings
|
|
|
|
class UserResponseSerializer(serializers.Serializer):
|
|
id = serializers.IntegerField()
|
|
email = serializers.EmailField()
|
|
name = serializers.CharField(source='first_name')
|
|
surname = serializers.CharField(source='last_name')
|
|
image = serializers.SerializerMethodField()
|
|
uuid = serializers.SerializerMethodField()
|
|
account_type = serializers.CharField(source='userprofile.account_type')
|
|
|
|
def get_uuid(self, obj):
|
|
try:
|
|
return str(obj.userprofile.uuid)[:6]
|
|
except Exception as e:
|
|
return None
|
|
|
|
def get_image(self, obj):
|
|
try:
|
|
if obj.userprofile.image:
|
|
relative_url = obj.userprofile.image.url
|
|
base_url = settings.BASE_URL
|
|
base_url = base_url.rstrip('/')
|
|
relative_url = relative_url.lstrip('/')
|
|
full_url = f"{base_url}/{relative_url}"
|
|
return full_url
|
|
return None
|
|
except Exception as e:
|
|
return None |