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')