mirror of
https://github.com/wowlikon/LiB.git
synced 2026-02-04 12:31:09 +00:00
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
"""Модуль DTO-моделей токенов"""
|
|
|
|
from sqlmodel import SQLModel, Field
|
|
|
|
|
|
class Token(SQLModel):
|
|
"""Модель токена"""
|
|
|
|
access_token: str = Field(description="Токен доступа")
|
|
token_type: str = Field("bearer", description="Тип токена")
|
|
refresh_token: str | None = Field(None, description="Токен обновления")
|
|
|
|
|
|
class PartialToken(SQLModel):
|
|
"""Частичный токен — для подтверждения 2FA"""
|
|
|
|
partial_token: str = Field(description="Частичный токен")
|
|
token_type: str = Field("partial", description="Тип токена")
|
|
requires_2fa: bool = Field(True, description="Требуется TOTP-код")
|
|
|
|
|
|
class TokenData(SQLModel):
|
|
"""Модель содержимого токена"""
|
|
|
|
username: str | None = Field(None, description="Имя пользователя")
|
|
user_id: int | None = Field(None, description="Идентификатор пользователя")
|
|
is_partial: bool = Field(False, description="Является ли токен частичным")
|