2025-02-19 14:27:14 +01:00

39 lines
1005 B
Python

from ..errors.not_authenticated import NotAuthenticatedError
from ..models.user import User
from ..settings import get_settings
class AuthContext:
"""
Provides authentication context for the current request.
"""
def __init__(
self,
) -> None:
if not get_settings().environment == "development":
raise NotImplementedError("AuthProvider is only implemented for development environment.")
self._authenticated_user = self._get_mocked_user()
def _get_mocked_user(self):
return User(
email="test@test.com",
username="test",
password_hash="test",
)
@property
def is_authenticated(self) -> bool:
return self._authenticated_user is not None
@property
def user(self) -> User:
"""
Returns the authenticated user.
"""
if not self._authenticated_user:
raise NotAuthenticatedError()
return self._authenticated_user