AirGate/backend/apps/accounts/serializers.py
seaislee1209 33c8963d46 fix: add explicit role field to admin login response
Makes auth role logic consistent between admin (role: 'admin')
and sub-account (role: 'iam_user') logins.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 01:35:35 +08:00

31 lines
1015 B
Python

from rest_framework import serializers
class LoginSerializer(serializers.Serializer):
username = serializers.CharField()
password = serializers.CharField(write_only=True)
class UserInfoSerializer(serializers.Serializer):
id = serializers.IntegerField()
username = serializers.CharField()
is_superuser = serializers.BooleanField()
is_active = serializers.BooleanField()
date_joined = serializers.DateTimeField()
last_login = serializers.DateTimeField()
role = serializers.SerializerMethodField()
def get_role(self, obj):
return 'admin'
class ChangePasswordSerializer(serializers.Serializer):
old_password = serializers.CharField(write_only=True)
new_password = serializers.CharField(write_only=True, min_length=6)
class AdminUserCreateSerializer(serializers.Serializer):
username = serializers.CharField(max_length=150)
password = serializers.CharField(write_only=True, min_length=6)
is_superuser = serializers.BooleanField(default=False)