[Cards] Change all instances of uuid to key
This commit is contained in:
@@ -18,7 +18,7 @@ def register_card(group_id: int):
|
||||
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, uuid=key)
|
||||
card = Card(group_id=group_id, key=key)
|
||||
return card
|
||||
|
||||
@card_router.post("/{group_id}", response_model=Card)
|
||||
@@ -31,7 +31,7 @@ def del_card(*, db: Session = Depends(get_session), admin: bool = Depends(auth_i
|
||||
key = DeleteCard()
|
||||
logger.info(key)
|
||||
try:
|
||||
card = db.exec(select(Card).where(Card.uuid == key)).one()
|
||||
card = db.exec(select(Card).where(Card.key == key)).one()
|
||||
except NoResultFound:
|
||||
logger.info(f"The key:'{key}' was not found in db!")
|
||||
raise HTTPException(status_code=500, detail="Key on card not found in DB. Please tell an admin about this. KEY={key}")
|
||||
|
||||
@@ -16,14 +16,14 @@ debug_router = APIRouter(
|
||||
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)
|
||||
card = Card(group_id=groupid, key=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()
|
||||
card = db.exec(select(Card).where(Card.key == card_key)).one()
|
||||
add_and_refresh(db, card)
|
||||
|
||||
@debug_router.put("/getcards")
|
||||
@@ -33,5 +33,5 @@ def list_all_cards(db: Session = Depends(get_session)):
|
||||
print(cards)
|
||||
out = []
|
||||
for i in cards:
|
||||
out.append({i.uuid: i.group.name})
|
||||
out.append({i.key: i.group.name})
|
||||
return out
|
||||
@@ -84,7 +84,7 @@ class AccessAuthorizationUpdate(Base):
|
||||
#### Card
|
||||
class Card(Base, table=True):
|
||||
id: int | None = Field(default=None, primary_key=True)
|
||||
uuid: str
|
||||
key: str
|
||||
group_id: int | None = Field(default=None, foreign_key="groupdb.id")
|
||||
group: GroupDB | None = Relationship(back_populates="cards")
|
||||
|
||||
|
||||
@@ -28,11 +28,11 @@ def closeDoor():
|
||||
def isDoorOpen():
|
||||
return doorIsOpen
|
||||
|
||||
def checkAccess(uuid: str, db: Session):
|
||||
def checkAccess(key: str, db: Session):
|
||||
try:
|
||||
current_weekday = datetime.datetime.weekday(datetime.date.today())
|
||||
current_time = datetime.datetime.now()
|
||||
card = db.exec(select(Card).where(Card.uuid == uuid)).one()
|
||||
card = db.exec(select(Card).where(Card.key == key)).one()
|
||||
for auth in card.group.accessauths:
|
||||
logger.info(f"checking auth: {auth.name}")
|
||||
for timetable in auth.timetables:
|
||||
|
||||
@@ -99,7 +99,7 @@ def test_group(db_session):
|
||||
@pytest.fixture
|
||||
def test_card(db_session, test_group):
|
||||
"""Create a test card."""
|
||||
card = Card(uuid="test-uuid-123", group_id=test_group.id)
|
||||
card = Card(key="test-key-123", group_id=test_group.id)
|
||||
db_session.add(card)
|
||||
db_session.commit()
|
||||
db_session.refresh(card)
|
||||
|
||||
@@ -59,8 +59,8 @@ def test_access_authorization_models():
|
||||
|
||||
def test_card_model():
|
||||
"""Test card model creation and validation."""
|
||||
card = Card(uuid="test-uuid", group_id=1)
|
||||
assert card.uuid == "test-uuid"
|
||||
card = Card(key="test-key", group_id=1)
|
||||
assert card.key == "test-key"
|
||||
assert card.group_id == 1
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ def test_check_access_with_valid_timetable(db_session):
|
||||
db_session.add(group)
|
||||
db_session.commit()
|
||||
|
||||
card = Card(uuid="test-uuid-123", group_id=group.id)
|
||||
card = Card(key="test-key-123", group_id=group.id)
|
||||
db_session.add(card)
|
||||
|
||||
timetable = Timetable(
|
||||
@@ -27,7 +27,7 @@ def test_check_access_with_valid_timetable(db_session):
|
||||
db_session.commit()
|
||||
|
||||
# Test: access should be granted within time window
|
||||
result = checkAccess("test-uuid-123", db_session)
|
||||
result = checkAccess("test-key-123", db_session)
|
||||
assert result == True
|
||||
|
||||
def test_check_access_outside_hours(db_session):
|
||||
@@ -36,7 +36,7 @@ def test_check_access_outside_hours(db_session):
|
||||
db_session.add(group)
|
||||
db_session.commit()
|
||||
|
||||
card = Card(uuid="test-uuid-123", group_id=group.id)
|
||||
card = Card(key="test-key-123", group_id=group.id)
|
||||
db_session.add(card)
|
||||
|
||||
timetable = Timetable(
|
||||
@@ -52,10 +52,10 @@ def test_check_access_outside_hours(db_session):
|
||||
group.accessauths = [aa]
|
||||
|
||||
db_session.commit()
|
||||
result = checkAccess("test-uuid-123", db_session)
|
||||
result = checkAccess("test-key-123", db_session)
|
||||
assert result == False
|
||||
|
||||
def test_check_access_invalid_card(db_session):
|
||||
# Should raise exception for non-existent card
|
||||
with pytest.raises(Exception):
|
||||
checkAccess("non-existent-uuid", db_session)
|
||||
checkAccess("non-existent-key", db_session)
|
||||
|
||||
Reference in New Issue
Block a user