update time filtering

This commit is contained in:
ben
2026-08-17 17:50:36 +02:00
parent e0eb2d5d8f
commit 2c66d6b075
2 changed files with 71 additions and 23 deletions
+33 -6
View File
@@ -608,10 +608,21 @@ def delete_room(
@app.get(
"/rooms/{room_id}/events",
summary="Get room events",
description="Returns all events belonging to a room. The authenticated user must be a member.",
description="Returns events belonging to a room, optionally filtered by date.",
)
def api_room_events(
room_id: int,
date_from: str | None = Query(
None,
alias="from",
description="Only return events starting on or after this date.",
),
date_to: str | None = Query(
None,
alias="to",
description="Only return events starting on or before this date.",
),
user_id: int = Depends(get_current_user),
):
if not has_role(room_id, user_id, "member"):
@@ -620,13 +631,16 @@ def api_room_events(
detail="room member permission required",
)
events = get_room_events(room_id)
events = get_room_events(
room_id,
date_from,
date_to,
)
return {
"events": [dict(event) for event in events],
}
@app.post(
"/events",
summary="Create an event",
@@ -660,16 +674,29 @@ def api_create_event(
"event_id": event_id,
}
@app.get(
"/events",
summary="Get user's events",
description="Returns events from rooms the authenticated user belongs to.",
description="Returns events from rooms the authenticated user belongs to, optionally filtered by date.",
)
def get_events(
date_from: str | None = Query(
None,
alias="from",
description="Only return events starting on or after this date.",
),
date_to: str | None = Query(
None,
alias="to",
description="Only return events starting on or before this date.",
),
user_id: int = Depends(get_current_user),
):
events = get_user_events(user_id)
events = get_user_events(
user_id,
date_from,
date_to,
)
return {
"events": [dict(event) for event in events],