Files
aerbim-ht-monitor/backend/api/account/serializers/UserSerializer.py
Timofey Syrokvashko 65a63235e5 feat / AEB-26 login page
2025-09-01 11:34:30 +03:00

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