[Cards] Add new fields to registration
This commit is contained in:
@@ -5,7 +5,7 @@ from sqlmodel import Session, select
|
|||||||
from typing import List
|
from typing import List
|
||||||
from sqlalchemy.exc import NoResultFound
|
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.database import engine, get_session, add_and_refresh
|
||||||
from ..services.auth import auth_is_admin
|
from ..services.auth import auth_is_admin
|
||||||
import uuid as gen_uuid
|
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"])
|
card_router = APIRouter(prefix="/api/v1/cards", tags=["Card"])
|
||||||
|
|
||||||
def register_card(group_id: int):
|
def register_card(cardInput: CardCreate):
|
||||||
key = WriteNewCard()
|
key, uid = WriteNewCard()
|
||||||
if key == None:
|
if key == None:
|
||||||
logger.info("No card registered. Check logs!")
|
logger.info("No card registered. Check logs!")
|
||||||
raise HTTPException(status.HTTP_417_EXPECTATION_FAILED, detail="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
|
return card
|
||||||
|
|
||||||
@card_router.post("/{group_id}", response_model=Card)
|
@card_router.post("/", response_model=Card)
|
||||||
def add_card(*, db: Session = Depends(get_session), group_id: int, admin: bool = Depends(auth_is_admin)):
|
def add_card(cardInput: CardCreate, db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
||||||
card = register_card(group_id)
|
card = register_card(cardInput)
|
||||||
return add_and_refresh(db, card)
|
return add_and_refresh(db, card)
|
||||||
|
|
||||||
@card_router.delete("/")
|
@card_router.delete("/")
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ def WriteNewCard():
|
|||||||
assert rdata == get_list(key)
|
assert rdata == get_list(key)
|
||||||
logger.debug(" - Data written successfully.")
|
logger.debug(" - Data written successfully.")
|
||||||
scannerThread.start()
|
scannerThread.start()
|
||||||
return key
|
return key, to_hex_string(data=uid, separator=":")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error in write function: {e}", exc_info=True)
|
logger.error(f"Error in write function: {e}", exc_info=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user