mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-27 12:12:57 +00:00
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
# coding=utf-8
|
||
"""
|
||
@project: MaxKB
|
||
@Author:虎虎
|
||
@file: user.py
|
||
@date:2025/4/14 19:18
|
||
@desc:
|
||
"""
|
||
from rest_framework import serializers
|
||
|
||
from users.models import User
|
||
|
||
|
||
class UserProfileResponse(serializers.ModelSerializer):
|
||
is_edit_password = serializers.BooleanField(required=True, label="是否修改密码")
|
||
permissions = serializers.ListField(required=True, label="权限")
|
||
|
||
class Meta:
|
||
model = User
|
||
fields = ['id', 'username', 'email', 'role', 'permissions', 'language', 'is_edit_password']
|
||
|
||
|
||
class UserProfileSerializer(serializers.Serializer):
|
||
@staticmethod
|
||
def profile(user: User):
|
||
"""
|
||
获取用户详情
|
||
:param user: 用户对象
|
||
:return:
|
||
"""
|
||
return {'id': user.id,
|
||
'username': user.username,
|
||
'email': user.email,
|
||
'role': user.role,
|
||
'permissions': [str(p) for p in []],
|
||
'is_edit_password': user.password == 'd880e722c47a34d8e9fce789fc62389d' if user.role == 'ADMIN' else False,
|
||
'language': user.language}
|