[Cards] Add new fields to registration

This commit is contained in:
2026-06-27 16:59:06 +02:00
parent 7922e710cf
commit e2db1ecf37
2 changed files with 14 additions and 8 deletions

View File

@@ -5,7 +5,7 @@ from sqlmodel import Session, select
from typing import List
from sqlalchemy.exc import NoResultFound
from ..model.models import Card
from ..model.models import Card, CardCreate
from ..services.database import engine, get_session, add_and_refresh
from ..services.auth import auth_is_admin
import uuid as gen_uuid
@@ -13,17 +13,23 @@ from app.services.scanner import WriteNewCard, DeleteCard
card_router = APIRouter(prefix="/api/v1/cards", tags=["Card"])
def register_card(group_id: int):
key = WriteNewCard()
def register_card(cardInput: CardCreate):
key, uid = WriteNewCard()
if key == None:
logger.info("No card registered. Check logs!")
raise HTTPException(status.HTTP_417_EXPECTATION_FAILED, detail="No card registered. Check logs!")
card = Card(group_id=group_id, key=key)
card = Card(
group_id=cardInput.group_id,
key=key,
name=cardInput.name,
card_serial=uid,
enabled=cardInput.enabled
)
return card
@card_router.post("/{group_id}", response_model=Card)
def add_card(*, db: Session = Depends(get_session), group_id: int, admin: bool = Depends(auth_is_admin)):
card = register_card(group_id)
@card_router.post("/", response_model=Card)
def add_card(cardInput: CardCreate, db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
card = register_card(cardInput)
return add_and_refresh(db, card)
@card_router.delete("/")

View File

@@ -233,7 +233,7 @@ def WriteNewCard():
assert rdata == get_list(key)
logger.debug(" - Data written successfully.")
scannerThread.start()
return key
return key, to_hex_string(data=uid, separator=":")
except Exception as e:
logger.error(f"Error in write function: {e}", exc_info=True)