Make create house work
This commit is contained in:
@@ -2,6 +2,9 @@ from ..errors.not_authenticated import NotAuthenticatedError
|
||||
from ..models.user import User
|
||||
from ..settings import get_settings
|
||||
|
||||
from ..repositories.user_repository import UserRepository
|
||||
from typing import Annotated
|
||||
from fastapi import Depends, Request
|
||||
|
||||
class AuthContext:
|
||||
"""
|
||||
@@ -10,23 +13,16 @@ class AuthContext:
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
request: Request,
|
||||
) -> 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",
|
||||
)
|
||||
self._authenticated_user = request.state.user
|
||||
|
||||
@property
|
||||
def is_authenticated(self) -> bool:
|
||||
return self._authenticated_user is not None
|
||||
return bool(self._authenticated_user)
|
||||
|
||||
@property
|
||||
def user(self) -> User:
|
||||
|
||||
@@ -10,7 +10,9 @@ from sqlalchemy.ext.asyncio import (
|
||||
create_async_engine,
|
||||
)
|
||||
from sqlmodel import create_engine, SQLModel
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from ..models.user import User
|
||||
|
||||
from ..settings import get_settings
|
||||
|
||||
@@ -56,8 +58,25 @@ def _get_engine() -> Engine:
|
||||
)
|
||||
|
||||
|
||||
def _seed_db():
|
||||
if settings.app.environment != "development":
|
||||
return
|
||||
|
||||
session = Session(_get_engine())
|
||||
|
||||
existing_user = session.query(User).filter(User.email == settings.app.mock_user_email).first()
|
||||
if not existing_user:
|
||||
mock_user = User(
|
||||
email=settings.app.mock_user_email,
|
||||
password_hash="test",
|
||||
)
|
||||
session.add(mock_user)
|
||||
session.commit()
|
||||
|
||||
session.close()
|
||||
|
||||
|
||||
def create_db_and_tables():
|
||||
engine = _get_engine()
|
||||
SQLModel.metadata.create_all(engine)
|
||||
|
||||
# TODO: add seeding
|
||||
_seed_db()
|
||||
|
||||
Reference in New Issue
Block a user