Add calendarManager to included routers
Pull-Request Vibe Check / ci-test (pull_request) Successful in 29s
Check flake syntax / flake-check (push) Successful in 33s
Test python action / test (push) Failing after 38s

Fix calendarrouter
Linting
fix assignment to last_used
This commit is contained in:
2026-11-10 10:53:20 +01:00
parent 9c12c663c1
commit 6a2b6e090a
7 changed files with 35 additions and 27 deletions
+11 -12
View File
@@ -1,27 +1,26 @@
import logging
from fastapi import APIRouter, Depends, HTTPException
from app.services.auth import auth_is_admin
from app.services.caldav import get_caldav_handler
from app.model.models import Card
from sqlmodel import Session, select
logger= logging.getLogger(__name__)
logger = logging.getLogger(__name__)
calendar_router = APIRouter(
prefix="/api/v1/calendar",
tags=["Calendar diagnostics"],
dependencies=[Depends(auth_is_admin)]
dependencies=[Depends(auth_is_admin)],
)
@calendar_router.get("/isActive")
def cal_is_active():
if get_caldav_handler() is None:
return False
else:
return True
return get_caldav_handler() is not None
@calendar_router.get("/calGetActiveEvents")
def cal_get_active_events(db: Session = Depends(get_session)):
def cal_get_active_events():
handler = get_caldav_handler()
if handler is None:
raise HTTPException(503, "Caldav handler not initialized")
@@ -29,7 +28,7 @@ def cal_get_active_events(db: Session = Depends(get_session)):
@calendar_router.get("/calGetFutureEvents")
def cal_get_future_events(db: Session = Depends(get_session)):
def cal_get_future_events():
handler = get_caldav_handler()
if handler is None:
raise HTTPException(503, "Caldav handler not initialized")
@@ -37,8 +36,8 @@ def cal_get_future_events(db: Session = Depends(get_session)):
@calendar_router.get("/calGetActiveGroups")
def cal_get_active_groups(db: Session = Depends(get_session)):
def cal_get_active_groups():
handler = get_caldav_handler()
if handler is None:
raise HTTPException(503, "Caldav handler not initialized")
return handler.get_active_groups()
return handler.get_active_groups()
+11 -5
View File
@@ -1,9 +1,9 @@
import logging
from datetime import UTC, datetime
from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.exc import NoResultFound
from sqlmodel import Session, select
from datetime import datetime, UTC
from app.model.models import Card, CardCreate, CardUpdate, GroupDB
from app.services.auth import auth_is_admin
@@ -28,7 +28,7 @@ def register_card(cardInput: CardCreate):
name=cardInput.name,
card_serial=uid,
enabled=cardInput.enabled,
last_used=datetime.now(tz=UTC)
last_used=datetime.now(tz=UTC),
)
return card
@@ -119,10 +119,16 @@ def update_card(
db_card.sqlmodel_update(card_data)
return add_and_refresh(db, db_card)
@card_router.get("/inactive")
def inactive_card_search(enabled: bool = False, uses: bool = False, ended: bool = False, db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
results = []
def inactive_card_search(
enabled: bool = False,
uses: bool = False,
ended: bool = False,
db: Session = Depends(get_session),
admin: bool = Depends(auth_is_admin),
):
if not enabled and not uses and not ended:
return {"message": "No results. Please activate at least one filter rule"}
if enabled:
return {"message": "Results with disabled cards heres"}
return {"message": "Results with disabled cards heres"}
+1 -2
View File
@@ -6,7 +6,6 @@ from sqlmodel import Session, select
from app.model.models import Card
from app.services.auth import auth_is_admin
from app.services.caldav import get_caldav_handler
from app.services.database import add_and_refresh, get_session
logger = logging.getLogger(__name__)
@@ -63,4 +62,4 @@ def list_all_cards(db: Session = Depends(get_session)):
out = []
for i in cards:
out.append({i.key: i.group.name})
return out
return out
+2
View File
@@ -7,6 +7,7 @@ from fastapi.security import OAuth2PasswordBearer
from app.controllers import (
aaManager,
calendarManager,
cardManager,
debugManager,
doorManager,
@@ -75,4 +76,5 @@ app.include_router(groupManager.group_router)
app.include_router(cardManager.card_router)
app.include_router(aaManager.aa_router)
app.include_router(doorManager.door_router)
app.include_router(calendarManager.calendar_router)
app.include_router(debugManager.debug_router)
+4 -2
View File
@@ -1,5 +1,5 @@
import logging
from datetime import datetime, UTC
from datetime import UTC, datetime
from sqlalchemy import exc
from sqlmodel import select
@@ -98,12 +98,14 @@ def decrementOneshot(db: Session, oneshot: OneShotAccess):
oneshot.sqlmodel_update(oneshot, update=data)
add_and_refresh(db, oneshot)
def updateLastUsed(db: Session, card: Card):
data = card.model_dump()
data["lastUsed"] = datetime.now(UTC)
data["last_used"] = datetime.now(UTC)
card.sqlmodel_update(card, update=data)
add_and_refresh(db, card)
def checkAccess(key: str, db: Session):
try:
card = db.exec(select(Card).where(Card.key == key)).one()
+1 -1
View File
@@ -217,7 +217,7 @@ def test_card(db_session, test_group):
enabled=True,
name="test_card",
card_serial="00:00:00:00:00:00:00",
last_used=datetime.now()
last_used=datetime.now(),
)
db_session.add(card)
db_session.commit()
+5 -5
View File
@@ -23,7 +23,7 @@ def test_check_access_with_valid_oneshot(db_session):
enabled=True,
name="test_card",
card_serial="00:00:00:00:00:00:00",
last_used=datetime.datetime.now()
last_used=datetime.datetime.now(),
)
db_session.add(card)
@@ -62,7 +62,7 @@ def test_check_access_with_inactive_aa(db_session):
enabled=True,
name="test_card",
card_serial="00:00:00:00:00:00:00",
last_used=datetime.datetime.now()
last_used=datetime.datetime.now(),
)
db_session.add(card)
@@ -92,7 +92,7 @@ def test_check_access_with_inactive_card(db_session):
enabled=False,
name="test_card",
card_serial="00:00:00:00:00:00:00",
last_used=datetime.datetime.now()
last_used=datetime.datetime.now(),
)
db_session.add(card)
@@ -122,7 +122,7 @@ def test_regression_check_access_issue_28(db_session):
enabled=True,
name="test_card",
card_serial="00:00:00:00:00:00:00",
last_used=datetime.datetime.now()
last_used=datetime.datetime.now(),
)
db_session.add(card)
@@ -167,7 +167,7 @@ def _create_card_with_oneshot(db_session, ends_at):
enabled=True,
name="test_card",
card_serial="00:00:00:00:00:00:00",
last_used=datetime.datetime.now()
last_used=datetime.datetime.now(),
)
db_session.add(card)