from fastapi import APIRouter, Depends from typing import Annotated 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(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=str(house.id) ) @router.get("") async def get_all_houses(): raise NotImplementedError("This endpoint is not implemented yet.")