Fix issues with getting the owner
This commit is contained in:
parent
6dd5f2780e
commit
d0fefeff1b
@ -1,11 +1,12 @@
|
||||
from sqlalchemy.ext.asyncio.session import AsyncSession
|
||||
from typing import Annotated
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import Depends
|
||||
from ..providers.db_provider import get_session
|
||||
from ..models.owner import Owner
|
||||
from sqlalchemy.ext.asyncio.session import AsyncSession
|
||||
from sqlmodel import select
|
||||
|
||||
from uuid import UUID
|
||||
from ..models.owner import Owner
|
||||
from ..providers.db_provider import get_session
|
||||
|
||||
|
||||
class OwnerRepository:
|
||||
@ -22,6 +23,11 @@ class OwnerRepository:
|
||||
result = await self.session.execute(statement)
|
||||
return result.scalar_one_or_none()
|
||||
|
||||
async def get_by_user_id(self, user_id: UUID):
|
||||
statement = select(Owner).where(Owner.user_id == user_id)
|
||||
result = await self.session.execute(statement)
|
||||
return result.scalar_one_or_none()
|
||||
|
||||
async def save(self, owner: Owner) -> None:
|
||||
"""
|
||||
Save a owner to the database. If an owner with that ID already exists, do an upsert.
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from ..dtos.house_create_request import HouseCreateRequest
|
||||
from ..dtos.house_create_response import HouseCreateResponse
|
||||
from ..dtos.houses_list_response import HouseResponse, HousesListResponse
|
||||
from ..models.house import House
|
||||
from ..models.owner import Owner
|
||||
from ..providers.auth_provider import AuthContext
|
||||
from ..repositories.house_repository import HouseRepository
|
||||
from ..repositories.owner_repository import OwnerRepository
|
||||
from ..models.house import House
|
||||
from ..models.owner import Owner
|
||||
from ..dtos.house_create_request import HouseCreateRequest
|
||||
from ..dtos.house_create_response import HouseCreateResponse
|
||||
from ..dtos.houses_list_response import HousesListResponse, HouseResponse
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@ -19,7 +21,7 @@ async def create_house(
|
||||
house_repository: Annotated[HouseRepository, Depends()],
|
||||
owner_repository: Annotated[OwnerRepository, Depends()],
|
||||
) -> HouseCreateResponse:
|
||||
owner = await owner_repository.get_by_id(auth.user.id)
|
||||
owner = await owner_repository.get_by_user_id(auth.user.id)
|
||||
|
||||
if not owner:
|
||||
new_owner = Owner(user_id=auth.user.id)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user