|
17 | 17 | from aiopg.sa.result import ResultProxy, RowProxy |
18 | 18 | from models_library.basic_types import IDStr |
19 | 19 | from models_library.folders import FolderQuery, FolderScope |
| 20 | +from models_library.groups import GroupID |
20 | 21 | from models_library.products import ProductName |
21 | 22 | from models_library.projects import ProjectID, ProjectIDStr |
22 | 23 | from models_library.projects_comments import CommentID, ProjectsCommentsDB |
@@ -354,7 +355,7 @@ def _create_private_workspace_query( |
354 | 355 | user_id: UserID, |
355 | 356 | workspace_query: WorkspaceQuery, |
356 | 357 | is_search_by_multi_columns: bool, |
357 | | - user_groups: list[int], |
| 358 | + user_groups: list[GroupID], |
358 | 359 | ) -> sql.Select | None: |
359 | 360 | private_workspace_query = None |
360 | 361 | if workspace_query.workspace_scope is not WorkspaceScope.SHARED: |
@@ -402,10 +403,12 @@ def _create_private_workspace_query( |
402 | 403 | ).label("access_rights"), |
403 | 404 | ) |
404 | 405 | .where( |
405 | | - project_to_groups.c.read, # Filters out entries where "read" is False |
406 | | - project_to_groups.c.gid.in_( |
407 | | - user_groups |
408 | | - ), # Filters gid to be in user_groups |
| 406 | + ( |
| 407 | + project_to_groups.c.read |
| 408 | + ) # Filters out entries where "read" is False |
| 409 | + & ( |
| 410 | + project_to_groups.c.gid.in_(user_groups) |
| 411 | + ) # Filters gid to be in user_groups |
409 | 412 | ) |
410 | 413 | .group_by(project_to_groups.c.project_uuid) |
411 | 414 | ).subquery("my_access_rights_subquery") |
@@ -457,7 +460,7 @@ def _create_shared_workspace_query( |
457 | 460 | product_name: ProductName, |
458 | 461 | workspace_query: WorkspaceQuery, |
459 | 462 | is_search_by_multi_columns: bool, |
460 | | - user_groups: list[int], |
| 463 | + user_groups: list[GroupID], |
461 | 464 | ) -> sql.Select | None: |
462 | 465 |
|
463 | 466 | if workspace_query.workspace_scope is not WorkspaceScope.PRIVATE: |
@@ -655,7 +658,7 @@ async def list_projects_dicts( # pylint: disable=too-many-arguments,too-many-st |
655 | 658 | user_groups_proxy: list[RowProxy] = await self._list_user_groups( |
656 | 659 | conn, user_id |
657 | 660 | ) |
658 | | - user_groups: list[int] = [group.gid for group in user_groups_proxy] |
| 661 | + user_groups: list[GroupID] = [group.gid for group in user_groups_proxy] |
659 | 662 |
|
660 | 663 | ### |
661 | 664 | # Private workspace query |
|
0 commit comments