mirror of
https://github.com/PaulReichmuth/timekeep-backend.git
synced 2026-02-05 20:43:27 +00:00
add deleteRacer mapping
This commit is contained in:
@@ -3,6 +3,7 @@ package de.pnreichmuth.timekeep_backend.controllers;
|
||||
import de.pnreichmuth.timekeep_backend.entities.Racer;
|
||||
import de.pnreichmuth.timekeep_backend.entities.Team;
|
||||
import de.pnreichmuth.timekeep_backend.exceptions.RacerExistsException;
|
||||
import de.pnreichmuth.timekeep_backend.exceptions.RacerNotFoundException;
|
||||
import de.pnreichmuth.timekeep_backend.exceptions.TeamNotFoundException;
|
||||
import de.pnreichmuth.timekeep_backend.services.RacerService;
|
||||
import de.pnreichmuth.timekeep_backend.services.TeamService;
|
||||
@@ -49,7 +50,7 @@ public class RacerRestController {
|
||||
}
|
||||
|
||||
@GetMapping("singleRacer")
|
||||
public ResponseEntity<@NonNull RacerWSTO> getSingleRacers(@RequestParam Racer requestRacer){
|
||||
public ResponseEntity<@NonNull RacerWSTO> getSingleRacers(@RequestBody Racer requestRacer){
|
||||
Racer actualRacer = racerService.getRacer(requestRacer.getFirstName(), requestRacer.getLastName());
|
||||
if (actualRacer == null){
|
||||
return ResponseEntity.of(
|
||||
@@ -65,7 +66,7 @@ public class RacerRestController {
|
||||
}
|
||||
|
||||
@GetMapping("byTeam")
|
||||
public ResponseEntity<@NonNull List<RacerWSTO>> getByTeam(@RequestParam Team requestTeam){
|
||||
public ResponseEntity<@NonNull List<RacerWSTO>> getByTeam(@RequestBody Team requestTeam){
|
||||
UUID teamID = requestTeam.getId();
|
||||
String teamName = requestTeam.getTeamName();
|
||||
Team dbTeam;
|
||||
@@ -81,6 +82,17 @@ public class RacerRestController {
|
||||
}
|
||||
|
||||
// ////////////////////////////////////////////////BEGIN DELETE MAPPINGS///////////////////////////////////////////////////
|
||||
|
||||
@DeleteMapping("/removeRacer")
|
||||
public ResponseEntity<?> removeRacer(@RequestBody Racer racer){
|
||||
try {
|
||||
racerService.deleteRacer(racer);
|
||||
return ResponseEntity.ok(racer);
|
||||
}
|
||||
catch (IllegalArgumentException e) {
|
||||
return ResponseEntity.of(ProblemDetail.forStatusAndDetail(HttpStatus.BAD_REQUEST, e.getMessage())).build();
|
||||
} catch (RacerNotFoundException e) {
|
||||
return ResponseEntity.of(ProblemDetail.forStatusAndDetail(HttpStatus.NOT_FOUND, e.getMessage())).build();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,9 +72,13 @@ public class RacerService {
|
||||
return racerRepository.save(racer);
|
||||
}
|
||||
|
||||
public void deleteRacer(UUID id) throws RacerNotFoundException {
|
||||
Racer racer = racerRepository.findById(id).orElse(null);
|
||||
if(racer == null) throw new RacerNotFoundException("Racer not found");
|
||||
public void deleteRacer(Racer racer) throws RacerNotFoundException {
|
||||
Racer dbRacer;
|
||||
if(racer.getRacerID() != null) dbRacer = racerRepository.getRacerByFirstNameAndLastName(racer.getFirstName(),racer.getLastName()).orElse(null);
|
||||
else if(racer.getFirstName() != null && racer.getLastName() != null) dbRacer = racerRepository.getRacerByFirstNameAndLastName(racer.getFirstName(),racer.getLastName()).orElse(null);
|
||||
else throw new IllegalArgumentException("Must provide either Racer ID or full Racer name");
|
||||
if(dbRacer == null) throw new RacerNotFoundException("Racer not found");
|
||||
racerRepository.delete(dbRacer);
|
||||
}
|
||||
|
||||
public void updateRacer(Racer racer) throws RacerExistsException{
|
||||
|
||||
Reference in New Issue
Block a user