Add all preamble
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
from typing import List
|
||||
from .. import models, schemas, database, repositories
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/houses", response_model=List[schemas.House])
|
||||
def list_houses(db: Session = Depends(database.get_db)):
|
||||
houses = repositories.house.get_all_houses(db)
|
||||
return houses
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from fastapi import APIRouter, HTTPException, Depends
|
||||
from typing import List
|
||||
from app.models import House # Assuming you have a House model
|
||||
from app.dtos import HouseCreate # Assuming you have a HouseCreate DTO
|
||||
from app.repositories.house_repository import HouseRepository # Assuming you have a HouseRepository
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.post("/houses", response_model=House)
|
||||
async def create_house(house: HouseCreate, house_repo: HouseRepository = Depends()):
|
||||
new_house = house_repo.create(house)
|
||||
if not new_house:
|
||||
raise HTTPException(status_code=400, detail="House creation failed")
|
||||
return new_house
|
||||
@@ -1,27 +0,0 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from app.models.prediction import HousePredictionInput, HousePredictionOutput
|
||||
from app.services.ml_model import HousePricePredictor
|
||||
|
||||
router = APIRouter()
|
||||
model = HousePricePredictor()
|
||||
|
||||
@router.get("/predictions/house-price",
|
||||
response_model=HousePredictionOutput,
|
||||
summary="Get a house price prediction",
|
||||
description="Predicts the price of a house based on its features"
|
||||
)
|
||||
async def predict_price(input_data: HousePredictionInput) -> HousePredictionOutput:
|
||||
try:
|
||||
predicted_price, confidence_score, similar_listings = model.predict(
|
||||
input_data.square_feet,
|
||||
input_data.bedrooms,
|
||||
input_data.bathrooms
|
||||
)
|
||||
|
||||
return HousePredictionOutput(
|
||||
predicted_price=predicted_price,
|
||||
confidence_score=confidence_score,
|
||||
similar_listings=similar_listings
|
||||
)
|
||||
except Exception as e:
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
Reference in New Issue
Block a user