24 lines
1.2 KiB
Python

from djoser.serializers import UserCreateSerializer as BaseUserCreateSerializer
from rest_framework import serializers
from .models import CustomUser
class UserCreateSerializer(BaseUserCreateSerializer):
# Serializer สำหรับการลงทะเบียน (Djoser จะใช้ตัวนี้)
class Meta(BaseUserCreateSerializer.Meta):
model = CustomUser
fields = ('id', 'username', 'email', 'phone_number', 'password') # เพิ่ม phone_number
class UserSerializer(serializers.ModelSerializer):
# Serializer สำหรับการดึงข้อมูล (ใช้แสดงข้อมูลผู้ใช้ปัจจุบัน)
class Meta:
model = CustomUser
fields = (
'id', 'username', 'email', 'phone_number', 'first_name', 'last_name',
# เพิ่มฟิลด์สถานะสิทธิ์/Role สำหรับ RBAC
'is_active', 'is_staff', 'is_superuser',
# เพิ่ม 'role' ใน model
'role',
)
# ตั้งค่า is_active, is_staff, is_superuser เป็น read_only
read_only_fields = ('id', 'username', 'is_active', 'is_staff', 'is_superuser', 'role')