2025-05-19 21:00:24 +00:00
|
|
|
|
"""
|
|
|
|
|
Классы состояния авторизации
|
|
|
|
|
"""
|
|
|
|
|
|
2025-06-01 23:56:11 +00:00
|
|
|
|
from typing import Optional
|
|
|
|
|
|
2025-05-29 09:37:39 +00:00
|
|
|
|
|
2025-05-19 21:00:24 +00:00
|
|
|
|
class AuthState:
|
|
|
|
|
"""
|
|
|
|
|
Класс для хранения информации о состоянии авторизации пользователя.
|
|
|
|
|
Используется в аутентификационных middleware и функциях.
|
|
|
|
|
"""
|
2025-05-29 09:37:39 +00:00
|
|
|
|
|
2025-06-01 23:56:11 +00:00
|
|
|
|
def __init__(self) -> None:
|
|
|
|
|
self.logged_in: bool = False
|
|
|
|
|
self.author_id: Optional[str] = None
|
|
|
|
|
self.token: Optional[str] = None
|
|
|
|
|
self.username: Optional[str] = None
|
|
|
|
|
self.is_admin: bool = False
|
|
|
|
|
self.is_editor: bool = False
|
|
|
|
|
self.error: Optional[str] = None
|
2025-05-29 09:37:39 +00:00
|
|
|
|
|
2025-06-01 23:56:11 +00:00
|
|
|
|
def __bool__(self) -> bool:
|
2025-05-19 21:00:24 +00:00
|
|
|
|
"""Возвращает True если пользователь авторизован"""
|
2025-05-29 09:37:39 +00:00
|
|
|
|
return self.logged_in
|