Make create house work

This commit is contained in:
Jacob Windsor
2025-02-19 14:48:56 +01:00
parent 2e70664620
commit cb8b1469cf
9 changed files with 57 additions and 20 deletions
+6 -10
View File
@@ -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:
+21 -2
View File
@@ -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()