f1f8518985
feat(auth): 添加用户权限获取接口并完善JWT令牌角色信息 - 在JWT令牌中添加用户角色信息 - 新增get_my_permissions接口用于获取当前用户权限码列表 - 重构认证回调逻辑,增加错误日志记录 - 更新用户信息获取接口使用Authorization头验证 ```
31 lines
717 B
Python
31 lines
717 B
Python
"""用户相关 Schema"""
|
|
from pydantic import BaseModel
|
|
from typing import Optional
|
|
from datetime import datetime
|
|
|
|
|
|
class UserListItem(BaseModel):
|
|
id: int
|
|
username: str
|
|
email: Optional[str] = None
|
|
role: str
|
|
assigned_area: Optional[str] = None
|
|
assigned_school: Optional[str] = None
|
|
is_active: bool
|
|
last_login: Optional[datetime] = None
|
|
created_at: Optional[datetime] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class UserListResponse(BaseModel):
|
|
total: int
|
|
items: list[UserListItem]
|
|
|
|
|
|
class UserRoleUpdate(BaseModel):
|
|
role: str # admin / area_admin / school_admin / user
|
|
assigned_area: Optional[str] = None
|
|
assigned_school: Optional[str] = None
|