From d0e35fe7664b635197d9cd4991e04b2e315c5190 Mon Sep 17 00:00:00 2001 From: Magnus Hissingby Date: Wed, 24 Sep 2025 10:40:23 +0200 Subject: [PATCH] added deletemapping to CohortController --- .../cohorts/controllers/CohortController.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/main/java/com/booleanuk/cohorts/controllers/CohortController.java b/src/main/java/com/booleanuk/cohorts/controllers/CohortController.java index 3900a9a..53f7502 100644 --- a/src/main/java/com/booleanuk/cohorts/controllers/CohortController.java +++ b/src/main/java/com/booleanuk/cohorts/controllers/CohortController.java @@ -124,5 +124,25 @@ public ResponseEntity addStudentToCohort(@PathVariable int id, @RequestBody P return new ResponseEntity<>(profileRepository.save(profile), HttpStatus.OK); } + + @DeleteMapping("{id}") + public ResponseEntity deleteCohort(@PathVariable int id) { + Cohort cohort = cohortRepository.findById(id).orElse(null); + if (cohort == null) return new ResponseEntity<>("Cohort for id " + Integer.valueOf(id) + " not found.", HttpStatus.NOT_FOUND); + CohortResponse cohortResponse = new CohortResponse(); + cohortResponse.set(cohort); + + for (Profile profile : cohort.getProfiles()){ + profile.setCohort(null); + } + cohort.getProfiles().clear(); + cohort.getCourse().getCohorts().remove(cohort); + try { + cohortRepository.delete(cohort); + return ResponseEntity.ok(cohortResponse); + } catch (Exception e) { + return new ResponseEntity<>("Could not delete Cohort", HttpStatus.BAD_REQUEST); + } + } }