diff --git a/services/web/server/src/simcore_service_webserver/projects/_projects_db.py b/services/web/server/src/simcore_service_webserver/projects/_projects_db.py index 9c1d1f839da8..c61bc22a6609 100644 --- a/services/web/server/src/simcore_service_webserver/projects/_projects_db.py +++ b/services/web/server/src/simcore_service_webserver/projects/_projects_db.py @@ -81,7 +81,11 @@ async def batch_get_trashed_by_primary_gid( Returns: values of trashed_by_primary_gid in the SAME ORDER as projects_uuids """ + if not projects_uuids: + return [] + projects_uuids_str = [f"{uuid}" for uuid in projects_uuids] + query = ( sa.select( users.c.primary_gid.label("trashed_by_primary_gid"), @@ -89,13 +93,9 @@ async def batch_get_trashed_by_primary_gid( .select_from(projects.outerjoin(users, projects.c.trashed_by == users.c.id)) .where(projects.c.uuid.in_(projects_uuids_str)) ).order_by( - # Preserves the order of projects_uuids - sa.case( - *[ - (projects.c.uuid == uuid, index) - for index, uuid in enumerate(projects_uuids_str) - ] - ) + *[ + projects.c.uuid == uuid for uuid in projects_uuids_str + ] # Preserves the order of project_uuids ) async with pass_or_acquire_connection(get_asyncpg_engine(app), connection) as conn: result = await conn.stream(query) diff --git a/services/web/server/tests/conftest.py b/services/web/server/tests/conftest.py index ab862056e038..3322e0b8b31d 100644 --- a/services/web/server/tests/conftest.py +++ b/services/web/server/tests/conftest.py @@ -439,7 +439,7 @@ async def _creator( "folderId", ] - for key in new_project: + for key in expected_data: if key not in modified_fields: assert expected_data[key] == new_project[key]