diff --git a/server/reflector/db/meetings.py b/server/reflector/db/meetings.py index ad0c6397..ba85bb38 100644 --- a/server/reflector/db/meetings.py +++ b/server/reflector/db/meetings.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timezone import sqlalchemy from fastapi import HTTPException @@ -28,7 +28,7 @@ class Meeting(BaseModel): viewer_room_url: str start_date: datetime end_date: datetime - user_id: str + user_id: str | None = None room_id: str | None = None @@ -81,9 +81,12 @@ class MeetingController: """ Get latest meeting for a room. """ - start_date = getattr(meetings.c, "start_date").desc() + end_date = getattr(meetings.c, "end_date") query = ( - meetings.select().where(meetings.c.room_id == room_id).order_by(start_date) + meetings.select() + .where(meetings.c.room_id == room_id) + .where(meetings.c.end_date > datetime.now(timezone.utc)) + .order_by(end_date.desc()) ) result = await database.fetch_one(query) if not result: diff --git a/server/reflector/views/meetings.py b/server/reflector/views/meetings.py index 3ebbb249..d3a79a8c 100644 --- a/server/reflector/views/meetings.py +++ b/server/reflector/views/meetings.py @@ -38,7 +38,7 @@ async def meeting_create( meeting = await meetings_controller.get_latest(room_id) if meeting is None: start_date = datetime.now(timezone.utc) - end_date = start_date + timedelta(minutes=1) + end_date = start_date + timedelta(hours=1) meeting = await create_meeting("", start_date=start_date, end_date=end_date) meeting = await meetings_controller.add( diff --git a/server/reflector/views/rooms.py b/server/reflector/views/rooms.py index aeb9ff3f..e777bdf0 100644 --- a/server/reflector/views/rooms.py +++ b/server/reflector/views/rooms.py @@ -89,7 +89,7 @@ async def rooms_create_meeting( meeting = await meetings_controller.get_latest(room_id=room.id) if meeting is None: start_date = datetime.now(timezone.utc) - end_date = start_date + timedelta(minutes=1) + end_date = start_date + timedelta(hours=1) meeting = await create_meeting("", start_date=start_date, end_date=end_date) meeting = await meetings_controller.create( diff --git a/server/reflector/views/transcripts.py b/server/reflector/views/transcripts.py index e7d373bc..0ef17c88 100644 --- a/server/reflector/views/transcripts.py +++ b/server/reflector/views/transcripts.py @@ -118,7 +118,7 @@ async def transcripts_create_meeting( ): user_id = user["sub"] if user else None start_date = datetime.now(timezone.utc) - end_date = start_date + timedelta(minutes=1) + end_date = start_date + timedelta(hours=1) meeting = await create_meeting("", start_date=start_date, end_date=end_date) meeting = await meetings_controller.create(