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 import FastAPI
|
||||||
from fastapi.security import OAuth2PasswordBearer
|
from fastapi.security import OAuth2PasswordBearer
|
||||||
from contextlib import asynccontextmanager
|
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.database import create_db_and_tables
|
||||||
from .services.auth import token_router, create_first_user
|
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(userManager.user_router)
|
||||||
app.include_router(groupManager.group_router)
|
app.include_router(groupManager.group_router)
|
||||||
app.include_router(cardManager.card_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