Skip to content
Snippets Groups Projects

Modif + Delete candidature

Merged Fatima Ezzahra Majidi requested to merge master into main
2 files
+ 37
0
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -80,4 +80,37 @@ public class CandidacyController {
.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
}
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteCandidacy(@PathVariable Long id) {
if (!candidacyService.existsById(id)) {
return ResponseEntity.notFound().build();
}
candidacyService.deleteCandidacy(id);
return ResponseEntity.noContent().build();
}
@PutMapping("/{id}")
public ResponseEntity<?> updateCandidacy(@PathVariable Long id, @RequestBody Candidacy updatedCandidacy) {
Optional<Candidacy> existingCandidacy = candidacyService.getCandidacyById(id);
if (existingCandidacy.isEmpty()) {
return ResponseEntity.notFound().build();
}
Candidacy candidacy = existingCandidacy.get();
if (updatedCandidacy.getStudent() != null && updatedCandidacy.getStudent().getId() != null) {
candidacy.setStudent(updatedCandidacy.getStudent());
}
if (updatedCandidacy.getStage() != null && updatedCandidacy.getStage().getId() != null) {
candidacy.setStage(updatedCandidacy.getStage());
}
if (updatedCandidacy.getUnivSupervisor() != null) {
candidacy.setUnivSupervisor(updatedCandidacy.getUnivSupervisor());
}
Candidacy savedCandidacy = candidacyService.saveCandidacy(candidacy);
return ResponseEntity.ok(savedCandidacy);
}
}
Loading