File size: 779 Bytes
a40adc0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from fastapi import APIRouter,Depends
from sqlalchemy.orm import Session
from app.db.session import SessionLocal
from app.services.service import log_event,get_all_events,get_event_stats
from app.schemas.schema import DrowsinessEventCreate,DrowsinessEventRead
router=APIRouter()
def get_db():
db=SessionLocal()
try:
yield db
finally:
db.close()
@router.post("/detect",response_model=DrowsinessEventRead)
def detect_event(event:DrowsinessEventCreate,db:Session=Depends(get_db)):
return log_event(db,event=event)
@router.get("/events",response_model=list[DrowsinessEventRead])
def list_events(db:Session=Depends(get_db),):
return get_all_events(db)
@router.get("/stats")
def stats(db:Session=Depends(get_db)):
return get_event_stats(db)
|