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 contextlib import asynccontextmanager
|
||||||
from dotenv import load_dotenv
|
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.database import create_db_and_tables, get_db_session
|
||||||
from .services.auth import token_router, create_first_user
|
from .services.auth import token_router, create_first_user
|
||||||
from app.services.scanner import BackgroundScanner
|
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(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)
|
app.include_router(doorManager.door_router)
|
||||||
|
app.include_router(debugManager.debug_router)
|
||||||
Reference in New Issue
Block a user