diff --git a/modules/research-framework/research-service/src/main/java/org/apache/airavata/research/service/controller/SessionController.java b/modules/research-framework/research-service/src/main/java/org/apache/airavata/research/service/controller/SessionController.java index 73a6e9c7f0..521acad8a5 100644 --- a/modules/research-framework/research-service/src/main/java/org/apache/airavata/research/service/controller/SessionController.java +++ b/modules/research-framework/research-service/src/main/java/org/apache/airavata/research/service/controller/SessionController.java @@ -72,12 +72,22 @@ public ResponseEntity updateSessionStatus( return ResponseEntity.ok(sessionHandler.updateSessionStatus(sessionId, status)); } + @DeleteMapping("/delete/{sessionIds}") + @Operation(summary = "Delete a session") + public ResponseEntity deleteSessions(@PathVariable(value = "sessionIds") List sessionIds) { + for (String id : sessionIds) { + sessionHandler.updateSessionStatus(id, SessionStatusEnum.TERMINATED); + sessionHandler.deleteSession(id); + } + return ResponseEntity.ok(Boolean.TRUE); + } + @DeleteMapping("/{sessionId}") @Operation(summary = "Delete a session") - public ResponseEntity deleteSessoin(@PathVariable(value = "sessionId") String sessionId) { + public ResponseEntity deleteSession(@PathVariable(value = "sessionId") String sessionId) { LOGGER.info("Deleting session session: {}", sessionId); + sessionHandler.updateSessionStatus(sessionId, SessionStatusEnum.TERMINATED); sessionHandler.deleteSession(sessionId); - return ResponseEntity.ok(Boolean.TRUE); } }