34 lines
1006 B
Python
34 lines
1006 B
Python
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)
|