diff --git a/app/controllers/cardManager.py b/app/controllers/cardManager.py index 74c86f3..b25e564 100644 --- a/app/controllers/cardManager.py +++ b/app/controllers/cardManager.py @@ -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}") diff --git a/app/controllers/debugManager.py b/app/controllers/debugManager.py index 282c9bd..8d5e8c9 100644 --- a/app/controllers/debugManager.py +++ b/app/controllers/debugManager.py @@ -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 \ No newline at end of file diff --git a/app/model/models.py b/app/model/models.py index b465640..87e7e33 100644 --- a/app/model/models.py +++ b/app/model/models.py @@ -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") diff --git a/app/services/door.py b/app/services/door.py index afdeaff..c4d1faf 100644 --- a/app/services/door.py +++ b/app/services/door.py @@ -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: diff --git a/test/conftest.py b/test/conftest.py index cc1a953..50e4005 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -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) diff --git a/test/test_models.py b/test/test_models.py index 6dff3aa..85e3ac9 100644 --- a/test/test_models.py +++ b/test/test_models.py @@ -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 diff --git a/test/test_services/test_door.py b/test/test_services/test_door.py index b90e9ef..fb824e2 100644 --- a/test/test_services/test_door.py +++ b/test/test_services/test_door.py @@ -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)