Fix: incorrect attribute in convo info service (#11503)

This commit is contained in:
Rohit Malhotra 2025-10-24 18:33:36 -04:00 committed by GitHub
parent 47776ae2ad
commit 2631294e79
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 6 deletions

View File

@ -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,

View File

@ -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,