Files
ibapp-backend/core/apps/accounts/serializers/user.py
behruz-dev 7e0eb3ec57 fix
2025-08-06 12:09:55 +05:00

28 lines
1.1 KiB
Python

from rest_framework import serializers
from core.apps.accounts.models import User
class UserProfileSerializer(serializers.ModelSerializer):
permissions = serializers.SerializerMethodField(method_name='get_permissions')
class Meta:
model = User
fields = [
'id', 'first_name', 'last_name', 'username', 'role', 'profile_image', 'permissions'
]
extra_kwargs = {'role': {'read_only': True}, "permissions": {'read_only': True}}
def get_permissions(self, obj):
if obj.role:
return obj.role.permissions.values_list('code', flat=True)
else:
return None
def update(self, instance, validated_data):
instance.first_name = validated_data.get('first_name', instance.first_name)
instance.last_name = validated_data.get('last_name', instance.last_name)
instance.username = validated_data.get('username', instance.username)
instance.profile_image = validated_data.get('profile_image', instance.profile_image)
instance.save()
return instance