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>
31 lines
1015 B
Python
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)
|