From b71e6388fa825637fbfdac9274d412d1a6258dd6 Mon Sep 17 00:00:00 2001 From: ahtlon Date: Sat, 27 Jun 2026 17:12:40 +0200 Subject: [PATCH] [Debug] fix debug router for new card model (also remove_card_manually now actually removes cards...) --- app/controllers/debugManager.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/app/controllers/debugManager.py b/app/controllers/debugManager.py index 8d5e8c9..e8502e4 100644 --- a/app/controllers/debugManager.py +++ b/app/controllers/debugManager.py @@ -3,6 +3,7 @@ logger = logging.getLogger(__name__) from fastapi import APIRouter, Depends, HTTPException from app.services.auth import auth_is_admin from sqlmodel import Session, select +import sqlalchemy.exc as exc from app.model.models import * from app.services.database import get_session, add_and_refresh @@ -12,19 +13,31 @@ debug_router = APIRouter( 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)): +@debug_router.put("/addcard/") +def add_card_manually(groupid: int, card_key: str, name: str, enabled: bool, 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, key=card_key) + card = Card( + group_id=groupid, + key=card_key, + name=name, + enabled=enabled, + card_serial="00:00:00:00:00:00:00" + ) 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.key == card_key)).one() - add_and_refresh(db, card) +@debug_router.get("/rmcard/{card_id}") +def remove_card_manually(card_id: str, db: Session = Depends(get_session)): + try: + card = db.exec(select(Card).where(Card.id == card_id)).one() + except exc.NoResultFound: + raise HTTPException(status_code=500, detail="No card with that id found.") + logger.critical(f"Manual db change: removing a card with attrs: {card}") + db.delete(card) + db.commit() + return {"message": "Card deleted successfully"} + @debug_router.put("/getcards") def list_all_cards(db: Session = Depends(get_session)):