33 lines
866 B
Python
33 lines
866 B
Python
from fastapi import APIRouter, Depends
|
|
from sqlmodel import Session
|
|
|
|
import app.services.door as doorService
|
|
from app.services.auth import auth_is_admin
|
|
from app.services.database import get_session
|
|
|
|
door_router = APIRouter(prefix="/api/v1/door", tags=["Door"])
|
|
|
|
|
|
@door_router.put("/open")
|
|
def open_door(db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
|
doorService.openDoor()
|
|
|
|
|
|
@door_router.put("/close")
|
|
def close_door(
|
|
db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)
|
|
):
|
|
doorService.closeDoor()
|
|
|
|
|
|
@door_router.put("/status")
|
|
def is_door_open(
|
|
db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)
|
|
):
|
|
return doorService.isDoorOpen()
|
|
|
|
|
|
@door_router.post("/test")
|
|
def test_access(input: str, db: Session = Depends(get_session)):
|
|
return doorService.checkAccess(input, db=db)
|