refactor: remove unnecessary get_session_factory usage

- Updated rooms_list endpoint to use injected session dependency
- Removed get_session_factory import from views/rooms.py
- Updated test_pipeline_main_file.py to use mock session instead of get_session_factory
- Pipeline files keep their get_session_factory usage as they manage long-running operations
This commit is contained in:
2025-09-23 18:11:15 -06:00
parent a07c621bcd
commit ad2accb574
2 changed files with 10 additions and 10 deletions

View File

@@ -11,7 +11,7 @@ from redis.exceptions import LockError
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
import reflector.auth as auth import reflector.auth as auth
from reflector.db import get_session, get_session_factory from reflector.db import get_session
from reflector.db.calendar_events import calendar_events_controller from reflector.db.calendar_events import calendar_events_controller
from reflector.db.meetings import meetings_controller from reflector.db.meetings import meetings_controller
from reflector.db.rooms import rooms_controller from reflector.db.rooms import rooms_controller
@@ -177,18 +177,17 @@ def parse_datetime_with_timezone(iso_string: str) -> datetime:
@router.get("/rooms", response_model=Page[RoomDetails]) @router.get("/rooms", response_model=Page[RoomDetails])
async def rooms_list( async def rooms_list(
user: Annotated[Optional[auth.UserInfo], Depends(auth.current_user_optional)], user: Annotated[Optional[auth.UserInfo], Depends(auth.current_user_optional)],
session: AsyncSession = Depends(get_session),
) -> list[RoomDetails]: ) -> list[RoomDetails]:
if not user and not settings.PUBLIC_MODE: if not user and not settings.PUBLIC_MODE:
raise HTTPException(status_code=401, detail="Not authenticated") raise HTTPException(status_code=401, detail="Not authenticated")
user_id = user["sub"] if user else None user_id = user["sub"] if user else None
session_factory = get_session_factory() query = await rooms_controller.get_all(
async with session_factory() as session: session, user_id=user_id, order_by="-created_at", return_query=True
query = await rooms_controller.get_all( )
session, user_id=user_id, order_by="-created_at", return_query=True return await paginate(session, query)
)
return await paginate(session, query)
@router.get("/rooms/{room_id}", response_model=RoomDetails) @router.get("/rooms/{room_id}", response_model=RoomDetails)

View File

@@ -624,10 +624,11 @@ async def test_pipeline_file_process_no_transcript():
# Should raise an exception for missing transcript when get_transcript is called # Should raise an exception for missing transcript when get_transcript is called
with pytest.raises(Exception, match="Transcript not found"): with pytest.raises(Exception, match="Transcript not found"):
from reflector.db import get_session_factory # Use a mock session - the controller is mocked to return None anyway
from unittest.mock import MagicMock
async with get_session_factory()() as session: mock_session = MagicMock()
await pipeline.get_transcript(session) await pipeline.get_transcript(mock_session)
@pytest.mark.asyncio @pytest.mark.asyncio