Add basic endpoints
This commit is contained in:
@@ -1,12 +1,33 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from typing import Annotated
|
||||
from ..providers.auth_provider import AuthProvider
|
||||
from ..providers.auth_provider import AuthContext
|
||||
from ..repositories.house_repository import HouseRepository
|
||||
from ..models.house import House
|
||||
from ..dtos.house_create_request import HouseCreateRequest
|
||||
from ..dtos.house_create_response import HouseCreateResponse
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.post("")
|
||||
async def create_house(auth_provider: Annotated[AuthProvider, Depends()]):
|
||||
return auth_provider.user
|
||||
async def create_house(body: HouseCreateRequest, auth: Annotated[AuthContext, Depends()], house_repository: Annotated[HouseRepository, Depends()]) -> HouseCreateResponse:
|
||||
owner = auth.user
|
||||
|
||||
house = House(
|
||||
owner_id=owner.id,
|
||||
address=body.address,
|
||||
city=body.city,
|
||||
country=body.country,
|
||||
price=body.price,
|
||||
description=body.description
|
||||
)
|
||||
|
||||
await house_repository.save(house)
|
||||
|
||||
return HouseCreateResponse(
|
||||
id=house.id
|
||||
)
|
||||
|
||||
|
||||
|
||||
@router.get("")
|
||||
async def get_all_houses():
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from typing import Annotated
|
||||
from ..repositories.owner_repository import OwnerRepository
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/{id}")
|
||||
async def get_owner(id: str, owner_repository: Annotated[OwnerRepository, Depends()]):
|
||||
return await owner_repository.get_by_id(id)
|
||||
Reference in New Issue
Block a user