|
7 | 7 | from models_library.basic_types import IDStr |
8 | 8 | from models_library.folders import FolderID |
9 | 9 | from models_library.products import ProductName |
10 | | -from models_library.projects import ProjectID |
| 10 | +from models_library.projects import Project, ProjectID |
11 | 11 | from models_library.rest_ordering import OrderBy, OrderDirection |
12 | 12 | from models_library.rest_pagination import MAXIMUM_NUMBER_OF_ITEMS_PER_PAGE |
13 | 13 | from models_library.users import UserID |
|
21 | 21 | from ..db.plugin import get_asyncpg_engine |
22 | 22 | from ..folders._folders_service import list_folders |
23 | 23 | from ..folders._trash_service import trash_folder, untrash_folder |
| 24 | +from ..projects._crud_api_read import ProjectTypeAPI, list_projects |
24 | 25 | from ..projects._trash_service import trash_project, untrash_project |
25 | 26 | from . import _workspaces_repository, _workspaces_service |
26 | 27 | from .errors import WorkspaceNotTrashedError |
@@ -87,21 +88,23 @@ async def _list_child_projects( |
87 | 88 | ( |
88 | 89 | projects, |
89 | 90 | page_params.total_number_of_items, |
90 | | - ) = await list_folders( |
| 91 | + ) = await list_projects( |
91 | 92 | app, |
92 | 93 | user_id=user_id, |
93 | 94 | product_name=product_name, |
94 | | - folder_id=None, |
| 95 | + show_hidden=True, |
95 | 96 | workspace_id=workspace_id, |
| 97 | + project_type=ProjectTypeAPI.all, |
| 98 | + folder_id=None, |
96 | 99 | trashed=None, |
97 | 100 | offset=page_params.offset, |
98 | 101 | limit=page_params.limit, |
99 | 102 | order_by=OrderBy(field=IDStr("trashed"), direction=OrderDirection.ASC), |
100 | 103 | ) |
101 | 104 |
|
102 | | - child_projects.extend([folder.folder_db.folder_id for folder in folders]) |
| 105 | + child_projects.extend([Project(**project).uuid for project in projects]) |
103 | 106 |
|
104 | | - return child_folders |
| 107 | + return child_projects |
105 | 108 |
|
106 | 109 |
|
107 | 110 | async def trash_workspace( |
@@ -145,9 +148,12 @@ async def trash_workspace( |
145 | 148 | force_stop_first=force_stop_first, |
146 | 149 | ) |
147 | 150 |
|
148 | | - child_projects: list[ProjectID] = [ |
149 | | - # NOTE: follows up with https://github.com/ITISFoundation/osparc-simcore/issues/7034 |
150 | | - ] |
| 151 | + child_projects: list[ProjectID] = await _list_child_projects( |
| 152 | + app, |
| 153 | + product_name=product_name, |
| 154 | + user_id=user_id, |
| 155 | + workspace_id=workspace_id, |
| 156 | + ) |
151 | 157 |
|
152 | 158 | for project_id in child_projects: |
153 | 159 | await trash_project( |
@@ -196,9 +202,12 @@ async def untrash_workspace( |
196 | 202 | folder_id=folder_id, |
197 | 203 | ) |
198 | 204 |
|
199 | | - child_projects: list[ProjectID] = [ |
200 | | - # NOTE: follows up with https://github.com/ITISFoundation/osparc-simcore/issues/7034 |
201 | | - ] |
| 205 | + child_projects: list[ProjectID] = await _list_child_projects( |
| 206 | + app, |
| 207 | + product_name=product_name, |
| 208 | + user_id=user_id, |
| 209 | + workspace_id=workspace_id, |
| 210 | + ) |
202 | 211 |
|
203 | 212 | for project_id in child_projects: |
204 | 213 | await untrash_project( |
|
0 commit comments