Skip to content

Commit cb4f9fa

Browse files
add child projects
1 parent 07dba85 commit cb4f9fa

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

services/web/server/src/simcore_service_webserver/workspaces/_trash_service.py

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from models_library.basic_types import IDStr
88
from models_library.folders import FolderID
99
from models_library.products import ProductName
10-
from models_library.projects import ProjectID
10+
from models_library.projects import Project, ProjectID
1111
from models_library.rest_ordering import OrderBy, OrderDirection
1212
from models_library.rest_pagination import MAXIMUM_NUMBER_OF_ITEMS_PER_PAGE
1313
from models_library.users import UserID
@@ -21,6 +21,7 @@
2121
from ..db.plugin import get_asyncpg_engine
2222
from ..folders._folders_service import list_folders
2323
from ..folders._trash_service import trash_folder, untrash_folder
24+
from ..projects._crud_api_read import ProjectTypeAPI, list_projects
2425
from ..projects._trash_service import trash_project, untrash_project
2526
from . import _workspaces_repository, _workspaces_service
2627
from .errors import WorkspaceNotTrashedError
@@ -87,21 +88,23 @@ async def _list_child_projects(
8788
(
8889
projects,
8990
page_params.total_number_of_items,
90-
) = await list_folders(
91+
) = await list_projects(
9192
app,
9293
user_id=user_id,
9394
product_name=product_name,
94-
folder_id=None,
95+
show_hidden=True,
9596
workspace_id=workspace_id,
97+
project_type=ProjectTypeAPI.all,
98+
folder_id=None,
9699
trashed=None,
97100
offset=page_params.offset,
98101
limit=page_params.limit,
99102
order_by=OrderBy(field=IDStr("trashed"), direction=OrderDirection.ASC),
100103
)
101104

102-
child_projects.extend([folder.folder_db.folder_id for folder in folders])
105+
child_projects.extend([Project(**project).uuid for project in projects])
103106

104-
return child_folders
107+
return child_projects
105108

106109

107110
async def trash_workspace(
@@ -145,9 +148,12 @@ async def trash_workspace(
145148
force_stop_first=force_stop_first,
146149
)
147150

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+
)
151157

152158
for project_id in child_projects:
153159
await trash_project(
@@ -196,9 +202,12 @@ async def untrash_workspace(
196202
folder_id=folder_id,
197203
)
198204

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+
)
202211

203212
for project_id in child_projects:
204213
await untrash_project(

0 commit comments

Comments
 (0)