diff --git a/openhands/app_server/app_conversation/sql_app_conversation_info_service.py b/openhands/app_server/app_conversation/sql_app_conversation_info_service.py index 972ea21155..a6abf0db8b 100644 --- a/openhands/app_server/app_conversation/sql_app_conversation_info_service.py +++ b/openhands/app_server/app_conversation/sql_app_conversation_info_service.py @@ -129,9 +129,9 @@ class SQLAppConversationInfoService(AppConversationInfoService): elif sort_order == AppConversationSortOrder.CREATED_AT_DESC: query = query.order_by(StoredConversationMetadata.created_at.desc()) elif sort_order == AppConversationSortOrder.UPDATED_AT: - query = query.order_by(StoredConversationMetadata.updated_at) + query = query.order_by(StoredConversationMetadata.last_updated_at) elif sort_order == AppConversationSortOrder.UPDATED_AT_DESC: - query = query.order_by(StoredConversationMetadata.updated_at.desc()) + query = query.order_by(StoredConversationMetadata.last_updated_at.desc()) elif sort_order == AppConversationSortOrder.TITLE: query = query.order_by(StoredConversationMetadata.title) elif sort_order == AppConversationSortOrder.TITLE_DESC: @@ -180,9 +180,7 @@ class SQLAppConversationInfoService(AppConversationInfoService): query = select(func.count(StoredConversationMetadata.conversation_id)) user_id = await self.user_context.get_user_id() if user_id: - query = query.where( - StoredConversationMetadata.created_by_user_id == user_id - ) + query = query.where(StoredConversationMetadata.user_id == user_id) query = self._apply_filters( query=query, diff --git a/tests/unit/app_server/test_sql_app_conversation_info_service.py b/tests/unit/app_server/test_sql_app_conversation_info_service.py index 14ab3e4231..2ff5974f73 100644 --- a/tests/unit/app_server/test_sql_app_conversation_info_service.py +++ b/tests/unit/app_server/test_sql_app_conversation_info_service.py @@ -73,7 +73,8 @@ def service(async_session) -> SQLAppConversationInfoService: def service_with_user(async_session) -> SQLAppConversationInfoService: """Create a SQLAppConversationInfoService instance with a user_id for testing.""" return SQLAppConversationInfoService( - db_session=async_session, user_id='test_user_123' + db_session=async_session, + user_context=SpecifyUserContext(user_id='test_user_123'), ) @@ -444,6 +445,23 @@ class TestSQLAppConversationInfoService: count = await service.count_app_conversation_info() assert count == len(multiple_conversation_infos) + @pytest.mark.asyncio + async def test_count_conversation_info_with_user_id( + self, + service_with_user: SQLAppConversationInfoService, + multiple_conversation_infos: list[AppConversationInfo], + ): + """Test count without any filters.""" + # Save all conversation infos + for info in multiple_conversation_infos: + await service_with_user.save_app_conversation_info(info) + + # Count without filters + count = await service_with_user.count_app_conversation_info( + updated_at__gte=datetime(1900, 1, 1, tzinfo=timezone.utc) + ) + assert count == len(multiple_conversation_infos) + @pytest.mark.asyncio async def test_count_conversation_info_with_filters( self,