2025-05-20 00:00:24 +03:00
|
|
|
|
"""
|
|
|
|
|
Классы состояния авторизации
|
|
|
|
|
"""
|
|
|
|
|
|
2025-06-02 02:56:11 +03:00
|
|
|
|
from typing import Optional
|
|
|
|
|
|
2025-05-29 12:37:39 +03:00
|
|
|
|
|
2025-05-20 00:00:24 +03:00
|
|
|
|
class AuthState:
|
|
|
|
|
"""
|
|
|
|
|
Класс для хранения информации о состоянии авторизации пользователя.
|
|
|
|
|
Используется в аутентификационных middleware и функциях.
|
|
|
|
|
"""
|
2025-05-29 12:37:39 +03:00
|
|
|
|
|
2025-06-02 02:56:11 +03: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 12:37:39 +03:00
|
|
|
|
|
2025-06-02 02:56:11 +03:00
|
|
|
|
def __bool__(self) -> bool:
|
2025-05-20 00:00:24 +03:00
|
|
|
|
"""Возвращает True если пользователь авторизован"""
|
2025-05-29 12:37:39 +03:00
|
|
|
|
return self.logged_in
|