24 lines
1.2 KiB
Python
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')
|