from rest_framework import serializers from .models import CustomUser from rest_framework_simplejwt.serializers import TokenObtainPairSerializer class RegisterSerializer(serializers.ModelSerializer): password = serializers.CharField(write_only=True) class Meta: model = CustomUser fields = ('email', 'name', 'password', 'grade') def create(self, validated_data): password = validated_data.pop('password') user = CustomUser(**validated_data) user.set_password(password) user.save() return user class CustomTokenObtainPairSerializer(TokenObtainPairSerializer): @classmethod def get_token(cls, user): token = super().get_token(user) # ✅ JWT payload에 커스텀 정보 추가 token["name"] = user.name token["grade"] = user.grade token["email"] = user.email # 선택적으로 추가 가능 return token # def validate(self, attrs): # data = super().validate(attrs) # data['name'] = self.user.name # ✅ 여기에 토큰 응답 추가 정보 삽입 # return data