Skip to content

Commit af72e5d

Browse files
fix broken test
1 parent 46c6a93 commit af72e5d

File tree

5 files changed

+25
-1
lines changed

5 files changed

+25
-1
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,13 @@ async def create_project( # pylint: disable=too-many-arguments,too-many-branche
398398
# Adds permalink
399399
await update_or_pop_permalink_in_project(request, new_project)
400400

401+
# Adds folderId
402+
user_specific_project_data_db = await db.get_user_specific_project_data_db(
403+
project_uuid=new_project["uuid"],
404+
private_workspace_user_id_or_none=user_id if workspace_id is None else None,
405+
)
406+
new_project["folderId"] = user_specific_project_data_db.folder_id
407+
401408
# Overwrite project access rights
402409
if workspace_id:
403410
workspace_db: UserWorkspaceAccessRightsDB = (

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ async def replace_project(request: web.Request):
444444
reason=f"Project {path_params.project_id} cannot be modified while pipeline is still running."
445445
)
446446

447-
await check_user_project_permission(
447+
user_project_permission = await check_user_project_permission(
448448
request.app,
449449
project_id=path_params.project_id,
450450
user_id=req_ctx.user_id,
@@ -483,6 +483,16 @@ async def replace_project(request: web.Request):
483483
is_template=False,
484484
app=request.app,
485485
)
486+
# Appends folder ID
487+
user_specific_project_data_db = await db.get_user_specific_project_data_db(
488+
project_uuid=path_params.project_id,
489+
private_workspace_user_id_or_none=(
490+
req_ctx.user_id
491+
if user_project_permission.workspace_id is None
492+
else None
493+
),
494+
)
495+
data["folderId"] = user_specific_project_data_db.folder_id
486496

487497
return web.json_response({"data": data}, dumps=json_dumps)
488498

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ def convert_to_db_names(project_document_data: dict) -> dict:
6464
exclude_keys = [
6565
"tags",
6666
"prjOwner",
67+
"folderId",
6768
] # No column for tags, prjOwner is a foreign key in db
6869
for key, value in project_document_data.items():
6970
if key not in exclude_keys:

services/web/server/tests/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ async def _creator(
423423
# dynamic
424424
"state",
425425
"permalink",
426+
"folderId",
426427
]
427428

428429
for key in new_project:

services/web/server/tests/unit/with_dbs/02/test_projects_crud_handlers.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ async def test_list_projects(
222222
# template project
223223
project_state = data[0].pop("state")
224224
project_permalink = data[0].pop("permalink")
225+
folder_id = data[0].pop("folderId")
225226

226227
assert data[0] == template_project
227228
assert not ProjectState(
@@ -232,10 +233,12 @@ async def test_list_projects(
232233
# standard project
233234
project_state = data[1].pop("state")
234235
project_permalink = data[1].pop("permalink", None)
236+
folder_id = data[1].pop("folderId")
235237

236238
assert data[1] == user_project
237239
assert ProjectState(**project_state)
238240
assert project_permalink is None
241+
assert folder_id is None
239242

240243
# GET /v0/projects?type=user
241244
data, *_ = await _list_and_assert_projects(client, expected, {"type": "user"})
@@ -245,6 +248,7 @@ async def test_list_projects(
245248
# standad project
246249
project_state = data[0].pop("state")
247250
project_permalink = data[0].pop("permalink", None)
251+
folder_id = data[0].pop("folderId")
248252

249253
assert data[0] == user_project
250254
assert not ProjectState(
@@ -261,6 +265,7 @@ async def test_list_projects(
261265
# template project
262266
project_state = data[0].pop("state")
263267
project_permalink = data[0].pop("permalink")
268+
folder_id = data[0].pop("folderId")
264269

265270
assert data[0] == template_project
266271
assert not ProjectState(

0 commit comments

Comments
 (0)