Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions backend/app/admin/schema/user.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from datetime import datetime
from typing import Any

from pydantic import ConfigDict, EmailStr, Field, HttpUrl, model_validator
from typing_extensions import Self
Expand Down Expand Up @@ -77,19 +78,20 @@ class GetUserInfoDetail(GetUserInfoNoRelationDetail):
class GetCurrentUserInfoDetail(GetUserInfoDetail):
model_config = ConfigDict(from_attributes=True)

dept: GetDeptDetail | str | None = None
roles: list[GetRoleDetail] | list[str] | None = None
dept: str | None = None
roles: list[str]

@model_validator(mode='after')
def handel(self) -> Self:
@model_validator(mode='before')
@classmethod
def handel(cls, data: Any) -> Self:
"""处理部门和角色"""
dept = self.dept
dept = data['dept']
if dept:
self.dept = dept.name # type: ignore
roles = self.roles
data['dept'] = dept['name']
roles = data['roles']
if roles:
self.roles = [role.name for role in roles] # type: ignore
return self
data['roles'] = [role['name'] for role in roles]
return data


class CurrentUserIns(GetUserInfoDetail):
Expand Down
Loading