mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-15 11:04:12 +08:00
49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class MfaChallenge(BaseModel):
|
|
"""密码认证通过后需要继续完成的二次验证信息。"""
|
|
|
|
# 可用的二次验证方式
|
|
mfa_methods: list[str] = Field(default_factory=list)
|
|
|
|
|
|
class Token(BaseModel):
|
|
"""OAuth2 登录成功后返回的访问令牌。"""
|
|
|
|
# 令牌
|
|
access_token: str
|
|
# 令牌类型
|
|
token_type: str
|
|
# 超级用户
|
|
super_user: bool
|
|
# 用户ID
|
|
user_id: int
|
|
# 用户名
|
|
user_name: str
|
|
# 头像
|
|
avatar: Optional[str] = None
|
|
# 权限级别
|
|
level: int = 1
|
|
# 详细权限
|
|
permissions: Optional[dict[str, bool]] = Field(default_factory=dict)
|
|
# 是否显示配置向导
|
|
wizard: Optional[bool] = None
|
|
|
|
|
|
class TokenPayload(BaseModel):
|
|
"""访问令牌中携带的用户身份与授权信息。"""
|
|
|
|
# 用户ID
|
|
sub: Optional[int] = None
|
|
# 用户名
|
|
username: Optional[str] = None
|
|
# 超级用户
|
|
super_user: Optional[bool] = None
|
|
# 权限级别
|
|
level: Optional[int] = None
|
|
# 令牌用途 authentication\resource
|
|
purpose: Optional[str] = None
|