Source code for models.auth
from pydantic import BaseModel
from typing import Optional
[docs]
class UserCreate(BaseModel):
"""Модель созданного пользователя.
Атрибуты:
- ``username`` (str): Имя пользователя.
- ``password`` (str): Пароль пользователя.
- ``is_admin`` (bool): Флаг административного доступа.
"""
username: str
password: str
is_admin: bool = False
[docs]
class UserLogin(BaseModel):
"""Модель авторизации пользователя.
Атрибуты:
- ``username`` (str): Имя пользователя.
- ``password`` (str): Пароль пользователя.
"""
username: str
password: str
[docs]
class UserResponse(BaseModel):
"""Модель, используемая при возврате сведений о пользователе.
Атрибуты:
- ``id`` (int): Идентификатор пользователя.
- ``username`` (str): Имя пользователя.
- ``is_admin`` (bool): Флаг административного доступа.
"""
id: int
username: str
is_admin: bool
[docs]
class Token(BaseModel):
"""Модель JWT-токена.
Атрибуты:
- ``access_token`` (str): Значение токена (в формате JWT).
- ``token_type`` (str): Тип токена (обычно ``bearer``).
- ``session_id`` (Optional[str]): Идентификатор сессии.
- ``user`` (Optional[UserResponse]): Данные пользователя, если включены в ответ.
"""
access_token: str
token_type: str
session_id: Optional[str] = None
user: Optional[UserResponse] = None