Skip to content

Commit b3094f7

Browse files
remove listing user services call from listing project
1 parent cf51daf commit b3094f7

File tree

3 files changed

+1
-32
lines changed

3 files changed

+1
-32
lines changed

services/web/server/src/simcore_service_webserver/projects/_crud_api_read.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
)
2323
from simcore_postgres_database.webserver_models import ProjectType as ProjectTypeDB
2424

25-
from ..catalog import catalog_service
2625
from ..folders import _folders_repository
2726
from ..workspaces.api import check_user_workspace_access
2827
from . import _projects_service
@@ -120,10 +119,6 @@ async def list_projects( # pylint: disable=too-many-arguments
120119
) -> tuple[list[ProjectDict], int]:
121120
db = ProjectDBAPI.get_from_app_context(app)
122121

123-
user_available_services = await catalog_service.get_services_for_user_in_product(
124-
app, user_id=user_id, product_name=product_name
125-
)
126-
127122
workspace_is_private = True
128123
if workspace_id:
129124
await check_user_workspace_access(
@@ -165,7 +160,6 @@ async def list_projects( # pylint: disable=too-many-arguments
165160
filter_by_template_type=(
166161
ProjectTemplateTypeDB(template_type) if template_type else None
167162
),
168-
filter_by_services=user_available_services,
169163
filter_trashed=trashed,
170164
filter_hidden=show_hidden,
171165
# composed attrs
@@ -202,17 +196,12 @@ async def list_projects_full_depth(
202196
) -> tuple[list[ProjectDict], int]:
203197
db = ProjectDBAPI.get_from_app_context(app)
204198

205-
user_available_services = await catalog_service.get_services_for_user_in_product(
206-
app, user_id=user_id, product_name=product_name
207-
)
208-
209199
db_projects, db_project_types, total_number_projects = await db.list_projects_dicts(
210200
product_name=product_name,
211201
user_id=user_id,
212202
workspace_query=WorkspaceQuery(workspace_scope=WorkspaceScope.ALL),
213203
folder_query=FolderQuery(folder_scope=FolderScope.ALL),
214204
filter_trashed=trashed,
215-
filter_by_services=user_available_services,
216205
filter_by_project_type=ProjectType.STANDARD,
217206
search_by_multi_columns=search_by_multi_columns,
218207
search_by_project_name=search_by_project_name,

services/web/server/src/simcore_service_webserver/projects/_projects_repository_legacy.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,6 @@ async def list_projects_dicts( # pylint: disable=too-many-arguments,too-many-st
573573
# attribute filters
574574
filter_by_project_type: ProjectType | None = None,
575575
filter_by_template_type: ProjectTemplateType | None = None,
576-
filter_by_services: list[dict] | None = None,
577576
filter_published: bool | None = None,
578577
filter_hidden: bool | None = False,
579578
filter_trashed: bool | None = False,
@@ -670,9 +669,7 @@ async def list_projects_dicts( # pylint: disable=too-many-arguments,too-many-st
670669

671670
prjs, prj_types = await self._execute_without_permission_check(
672671
conn,
673-
user_id=user_id,
674672
select_projects_query=combined_query.offset(offset).limit(limit),
675-
filter_by_services=filter_by_services,
676673
)
677674

678675
return (

services/web/server/src/simcore_service_webserver/projects/_projects_repository_legacy_utils.py

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@
1212
from models_library.projects import ProjectAtDB, ProjectID, ProjectTemplateType
1313
from models_library.projects_nodes import Node
1414
from models_library.projects_nodes_io import NodeIDStr
15-
from models_library.users import UserID
1615
from models_library.utils.change_case import camel_to_snake, snake_to_camel
1716
from pydantic import ValidationError
1817
from simcore_postgres_database.models.project_to_groups import project_to_groups
19-
from simcore_postgres_database.models.projects_to_products import projects_to_products
2018
from simcore_postgres_database.webserver_models import ProjectType, projects
2119
from sqlalchemy.dialects.postgresql import insert as pg_insert
2220
from sqlalchemy.sql.selectable import CompoundSelect, Select
@@ -32,7 +30,7 @@
3230
ProjectNotFoundError,
3331
)
3432
from .models import ProjectDict
35-
from .utils import are_project_services_available, find_changed_node_keys
33+
from .utils import find_changed_node_keys
3634

3735
logger = logging.getLogger(__name__)
3836

@@ -189,10 +187,8 @@ async def _upsert_tags_in_project(
189187
async def _execute_without_permission_check(
190188
self,
191189
conn: SAConnection,
192-
user_id: UserID,
193190
*,
194191
select_projects_query: Select | CompoundSelect,
195-
filter_by_services: list[dict] | None = None,
196192
) -> tuple[list[dict[str, Any]], list[ProjectType]]:
197193
api_projects: list[dict] = [] # API model-compatible projects
198194
db_projects: list[dict] = [] # DB model-compatible projects
@@ -218,19 +214,6 @@ async def _execute_without_permission_check(
218214
prj: dict[str, Any] = dict(row.items())
219215
prj.pop("product_name", None)
220216

221-
if (
222-
filter_by_services is not None
223-
# This checks only old projects that are not in the projects_to_products table.
224-
and row[projects_to_products.c.product_name] is None
225-
and not are_project_services_available(prj, filter_by_services)
226-
):
227-
logger.warning(
228-
"Project %s will not be listed for user %s since it has no access rights"
229-
" for one or more of the services that includes.",
230-
f"{row.id=}",
231-
f"{user_id=}",
232-
)
233-
continue
234217
db_projects.append(prj)
235218

236219
# NOTE: DO NOT nest _get_tags_by_project in async loop above !!!

0 commit comments

Comments
 (0)