Skip to content

Commit 74dc05f

Browse files
committed
Add arguments support for the reset action in REST API
Signed-off-by: tdruez <[email protected]>
1 parent ebe599d commit 74dc05f

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

scanpipe/api/views.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ def archive(self, request, *args, **kwargs):
424424
remove_output=request.data.get("remove_output"),
425425
)
426426
except RunInProgressError as error:
427-
return Response(error, status=status.HTTP_400_BAD_REQUEST)
427+
return Response({"status": str(error)}, status=status.HTTP_400_BAD_REQUEST)
428428
else:
429429
return Response({"status": f"The project {project} has been archived."})
430430

@@ -437,13 +437,15 @@ def reset(self, request, *args, **kwargs):
437437
return Response({"status": message})
438438

439439
try:
440-
project.reset(keep_input=True)
440+
project.reset(
441+
keep_input=request.data.get("keep_input", True),
442+
restore_pipelines=request.data.get("restore_pipelines", False),
443+
execute_now=request.data.get("execute_now", False),
444+
)
441445
except RunInProgressError as error:
442-
return Response(error, status=status.HTTP_400_BAD_REQUEST)
446+
return Response({"status": str(error)}, status=status.HTTP_400_BAD_REQUEST)
443447
else:
444-
message = (
445-
f"All data, except inputs, for the {project} project have been removed."
446-
)
448+
message = f"The {project} project has been reset."
447449
return Response({"status": message})
448450

449451
@action(detail=True, methods=["get"])

scanpipe/tests/test_api.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -963,8 +963,7 @@ def test_scanpipe_api_project_action_reset(self):
963963
response = self.csrf_client.post(url)
964964
self.assertEqual(status.HTTP_200_OK, response.status_code)
965965
expected = {
966-
"status": "All data, except inputs, for the Analysis project have been "
967-
"removed."
966+
"status": "The Analysis project has been reset."
968967
}
969968
self.assertEqual(expected, response.data)
970969
self.assertEqual(0, self.project1.runs.count())

0 commit comments

Comments
 (0)