Add doorrouter
This commit is contained in:
16
app/controllers/doorManager.py
Normal file
16
app/controllers/doorManager.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from sqlmodel import Session
|
||||
|
||||
from app.services.database import get_session
|
||||
from app.services.auth import auth_is_admin
|
||||
import app.services.door as doorService
|
||||
|
||||
door_router = APIRouter(prefix="/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 open_door(db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
||||
doorService.closedoor()
|
||||
@@ -1,7 +1,7 @@
|
||||
from fastapi import FastAPI
|
||||
from fastapi.security import OAuth2PasswordBearer
|
||||
from contextlib import asynccontextmanager
|
||||
from .controllers import userManager, cardManager, groupManager, aaManager
|
||||
from .controllers import userManager, cardManager, groupManager, aaManager, doorManager
|
||||
from .services.database import create_db_and_tables
|
||||
from .services.auth import token_router, create_first_user
|
||||
|
||||
@@ -22,4 +22,5 @@ app.include_router(token_router)
|
||||
app.include_router(userManager.user_router)
|
||||
app.include_router(groupManager.group_router)
|
||||
app.include_router(cardManager.card_router)
|
||||
app.include_router(aaManager.aa_router)
|
||||
app.include_router(aaManager.aa_router)
|
||||
app.include_router(doorManager.door_router)
|
||||
18
app/services/door.py
Normal file
18
app/services/door.py
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
import paho.mqtt.client as mqttClient
|
||||
|
||||
doorIsOpen = True
|
||||
client = mqttClient.Client(client_id="", userdata=None, protocol=mqttClient.MQTTv5)
|
||||
client.tls_set(tls_version=mqttClient.ssl.PROTOCOL_TLS)
|
||||
client.username_pw_set("username", "passwort")
|
||||
#client.connect("host", port=8883)
|
||||
|
||||
def opendoor():
|
||||
doorIsOpen = True
|
||||
publish.single(topic="/lock/action", payload="unlock")
|
||||
pass
|
||||
|
||||
def closedoor():
|
||||
doorIsOpen = False
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user