From ad407fb525e778d08cd8e6df8c38e34e7e6e67b5 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 25 Sep 2023 11:39:57 +0200 Subject: [PATCH] Delete Taskgroup --- .../core/api/controller/TaskgroupController.java | 15 +++++++++++++++ .../main/java/core/services/TaskgroupService.java | 4 ++++ 2 files changed, 19 insertions(+) diff --git a/backend/src/main/java/core/api/controller/TaskgroupController.java b/backend/src/main/java/core/api/controller/TaskgroupController.java index 0448065..bd53a1e 100644 --- a/backend/src/main/java/core/api/controller/TaskgroupController.java +++ b/backend/src/main/java/core/api/controller/TaskgroupController.java @@ -55,4 +55,19 @@ public class TaskgroupController { return ResponseEntity.status(409).body(new SimpleStatusResponse("failed")); } } + + @DeleteMapping("/taskgroups/{taskgroupID}") + public ResponseEntity deleteTaskgroup(@PathVariable long taskgroupID) { + PermissionResult taskgroupPermissionResult = taskgroupService.getTaskgroupByIDAndUsername(taskgroupID, SecurityContextHolder.getContext().getAuthentication().getName()); + if (!taskgroupPermissionResult.isHasPermissions()) { + return ResponseEntity.status(403).body(new SimpleStatusResponse("failed")); + } + + if(taskgroupPermissionResult.getExitCode() == ServiceExitCode.MISSING_ENTITY) { + return ResponseEntity.status(404).body(new SimpleStatusResponse("failed")); + } + + taskgroupService.deleteTaskgroup(taskgroupPermissionResult.getResult()); + return ResponseEntity.ok(new SimpleStatusResponse("success")); + } } diff --git a/backend/src/main/java/core/services/TaskgroupService.java b/backend/src/main/java/core/services/TaskgroupService.java index 20c3579..5a224cd 100644 --- a/backend/src/main/java/core/services/TaskgroupService.java +++ b/backend/src/main/java/core/services/TaskgroupService.java @@ -62,4 +62,8 @@ public class TaskgroupService { return ServiceExitCode.OK; } } + + public void deleteTaskgroup(Taskgroup taskgroup) { + taskgroupRepository.delete(taskgroup); + } }