from fastapi import HTTPException, Depends from sqlalchemy.orm import Session from typing import List, Annotated from fastapi import APIRouter from . import models, schemas, controller from .database import SessionLocal, get_db router = APIRouter(prefix='/api') @router.get('/list', response_model=List[schemas.Record]) def list_rows( filters: Annotated[schemas.RecordRequest, Depends()], db: Session = Depends(get_db) ): return controller.search_each(db, filters) @router.get('/search', response_model=List[schemas.Record]) def search_rows(query: str, db: Session = Depends(get_db)): return controller.search_all(db, query) @router.get('/check', response_model=schemas.CheckResponse) def check(building_id: int, db: Session = Depends(get_db)): return controller.check_outage(db, building_id) @router.put('/create', response_model=schemas.Record) def create_record(record: schemas.RecordCreate, db: Session = Depends(get_db)): return controller.create_record(db, record)