Skip to content

Commit 8edfd52

Browse files
committed
extens projects_service
1 parent 90a73e1 commit 8edfd52

File tree

3 files changed

+31
-13
lines changed

3 files changed

+31
-13
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ async def delete_project(
7878
app: web.Application,
7979
project_uuid: ProjectID,
8080
user_id: UserID,
81-
simcore_user_agent,
81+
simcore_user_agent: str,
8282
remove_project_dynamic_services: RemoveProjectServicesCallable,
8383
) -> None:
8484
"""Stops dynamic services, deletes data and finally deletes project

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -486,9 +486,9 @@ async def delete_project(request: web.Request):
486486

487487
await projects_service.submit_delete_project_task(
488488
request.app,
489-
path_params.project_id,
490-
req_ctx.user_id,
491-
request.headers.get(
489+
project_uuid=path_params.project_id,
490+
user_id=req_ctx.user_id,
491+
simcore_user_agent=request.headers.get(
492492
X_SIMCORE_USER_AGENT, UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE
493493
),
494494
)

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

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,33 @@ async def patch_project(
318318
#
319319

320320

321+
async def delete_project_by_user(
322+
app: web.Application,
323+
*,
324+
project_uuid: ProjectID,
325+
user_id: UserID,
326+
simcore_user_agent: str = UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE,
327+
wait_until_completed: bool = True,
328+
) -> None:
329+
task = await submit_delete_project_task(
330+
app,
331+
project_uuid=project_uuid,
332+
user_id=user_id,
333+
simcore_user_agent=simcore_user_agent,
334+
)
335+
if wait_until_completed:
336+
await task
337+
338+
339+
def get_delete_project_task(
340+
project_uuid: ProjectID, user_id: UserID
341+
) -> asyncio.Task | None:
342+
if tasks := _crud_api_delete.get_scheduled_tasks(project_uuid, user_id):
343+
assert len(tasks) == 1, f"{tasks=}" # nosec
344+
return tasks[0]
345+
return None
346+
347+
321348
async def submit_delete_project_task(
322349
app: web.Application,
323350
project_uuid: ProjectID,
@@ -353,15 +380,6 @@ async def submit_delete_project_task(
353380
return task
354381

355382

356-
def get_delete_project_task(
357-
project_uuid: ProjectID, user_id: UserID
358-
) -> asyncio.Task | None:
359-
if tasks := _crud_api_delete.get_scheduled_tasks(project_uuid, user_id):
360-
assert len(tasks) == 1, f"{tasks=}" # nosec
361-
return tasks[0]
362-
return None
363-
364-
365383
#
366384
# PROJECT NODES -----------------------------------------------------
367385
#

0 commit comments

Comments
 (0)