mirror of
https://github.com/PaulReichmuth/timekeep-backend.git
synced 2026-02-06 04:53:25 +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.Racer;
|
||||||
import de.pnreichmuth.timekeep_backend.entities.Team;
|
import de.pnreichmuth.timekeep_backend.entities.Team;
|
||||||
import de.pnreichmuth.timekeep_backend.exceptions.RacerExistsException;
|
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.exceptions.TeamNotFoundException;
|
||||||
import de.pnreichmuth.timekeep_backend.services.RacerService;
|
import de.pnreichmuth.timekeep_backend.services.RacerService;
|
||||||
import de.pnreichmuth.timekeep_backend.services.TeamService;
|
import de.pnreichmuth.timekeep_backend.services.TeamService;
|
||||||
@@ -49,7 +50,7 @@ public class RacerRestController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("singleRacer")
|
@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());
|
Racer actualRacer = racerService.getRacer(requestRacer.getFirstName(), requestRacer.getLastName());
|
||||||
if (actualRacer == null){
|
if (actualRacer == null){
|
||||||
return ResponseEntity.of(
|
return ResponseEntity.of(
|
||||||
@@ -65,7 +66,7 @@ public class RacerRestController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("byTeam")
|
@GetMapping("byTeam")
|
||||||
public ResponseEntity<@NonNull List<RacerWSTO>> getByTeam(@RequestParam Team requestTeam){
|
public ResponseEntity<@NonNull List<RacerWSTO>> getByTeam(@RequestBody Team requestTeam){
|
||||||
UUID teamID = requestTeam.getId();
|
UUID teamID = requestTeam.getId();
|
||||||
String teamName = requestTeam.getTeamName();
|
String teamName = requestTeam.getTeamName();
|
||||||
Team dbTeam;
|
Team dbTeam;
|
||||||
@@ -81,6 +82,17 @@ public class RacerRestController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ////////////////////////////////////////////////BEGIN DELETE MAPPINGS///////////////////////////////////////////////////
|
// ////////////////////////////////////////////////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);
|
return racerRepository.save(racer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteRacer(UUID id) throws RacerNotFoundException {
|
public void deleteRacer(Racer racer) throws RacerNotFoundException {
|
||||||
Racer racer = racerRepository.findById(id).orElse(null);
|
Racer dbRacer;
|
||||||
if(racer == null) throw new RacerNotFoundException("Racer not found");
|
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{
|
public void updateRacer(Racer racer) throws RacerExistsException{
|
||||||
|
|||||||
Reference in New Issue
Block a user