Add some debug functions for testing
This commit is contained in:
37
app/controllers/debugManager.py
Normal file
37
app/controllers/debugManager.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from app.services.auth import auth_is_admin
|
||||
from sqlmodel import Session, select
|
||||
from app.model.models import *
|
||||
from app.services.database import get_session, add_and_refresh
|
||||
|
||||
debug_router = APIRouter(
|
||||
prefix="/debug",
|
||||
tags=["Debug items - maybe dont show this in UI"],
|
||||
dependencies=[Depends(auth_is_admin)],
|
||||
)
|
||||
|
||||
@debug_router.get("/addcard/{groupid}/{card_key}")
|
||||
def add_card_manually(groupid: int, card_key: str, db: Session=Depends(get_session)):
|
||||
"""Add cards manually (you also have to delete them manually)"""
|
||||
logger.critical(f"Manual db change: adding a card with key: {card_key} to group: {groupid}")
|
||||
card = Card(group_id=groupid, uuid=card_key)
|
||||
add_and_refresh(db, card)
|
||||
return card
|
||||
|
||||
@debug_router.get("/rmcard/{card_key}")
|
||||
def remove_card_manually(card_key: str, db: Session = Depends(get_session)):
|
||||
logger.critical(f"Manual db change: removing a card with key: {card_key}")
|
||||
card = db.exec(select(Card).where(Card.uuid == card_key)).one()
|
||||
add_and_refresh(db, card)
|
||||
|
||||
@debug_router.put("/getcards")
|
||||
def list_all_cards(db: Session = Depends(get_session)):
|
||||
logger.info(f"Debug Setting: Getting cards.")
|
||||
cards = db.exec(select(Card)).all()
|
||||
print(cards)
|
||||
out = []
|
||||
for i in cards:
|
||||
out.append({i.uuid: i.group.name})
|
||||
return out
|
||||
@@ -6,7 +6,7 @@ from fastapi.security import OAuth2PasswordBearer
|
||||
from contextlib import asynccontextmanager
|
||||
from dotenv import load_dotenv
|
||||
|
||||
from .controllers import userManager, cardManager, groupManager, aaManager, doorManager
|
||||
from .controllers import userManager, cardManager, groupManager, aaManager, doorManager, debugManager
|
||||
from .services.database import create_db_and_tables, get_db_session
|
||||
from .services.auth import token_router, create_first_user
|
||||
from app.services.scanner import BackgroundScanner
|
||||
@@ -43,4 +43,5 @@ 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(doorManager.door_router)
|
||||
app.include_router(doorManager.door_router)
|
||||
app.include_router(debugManager.debug_router)
|
||||
Reference in New Issue
Block a user