39 lines
1005 B
Python
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
|