diff --git a/src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1Controller.java b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1Controller.java index b499b98..d5a89d8 100644 --- a/src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1Controller.java +++ b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1Controller.java @@ -1,6 +1,5 @@ package org.kickerelo.kickerelo.api; -import org.kickerelo.kickerelo.data.Ergebnis1vs1; import org.kickerelo.kickerelo.repository.Ergebnis1vs1Repository; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -20,13 +19,13 @@ public class Ergebnis1vs1Controller { } @GetMapping - public ResponseEntity> getAllResults() { - return ResponseEntity.ok(ergebnis1vs1Repository.findAll()); + public ResponseEntity> getAllResults() { + return ResponseEntity.ok(ergebnis1vs1Repository.findAll().stream().map(Ergebnis1vs1DTO::new).toList()); } @GetMapping("/{id}") - public ResponseEntity getResultForId(@PathVariable Long id) { - return ergebnis1vs1Repository.findById(id).map(ResponseEntity::ok) + public ResponseEntity getResultForId(@PathVariable Long id) { + return ergebnis1vs1Repository.findById(id).map(Ergebnis1vs1DTO::new).map(ResponseEntity::ok) .orElseGet(() -> ResponseEntity.noContent().build()); } } diff --git a/src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1DTO.java b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1DTO.java new file mode 100644 index 0000000..2ddbe0f --- /dev/null +++ b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1DTO.java @@ -0,0 +1,24 @@ +package org.kickerelo.kickerelo.api; + +import org.kickerelo.kickerelo.data.Ergebnis1vs1; +import org.kickerelo.kickerelo.data.Spieler; + +import java.time.LocalDate; + +public record Ergebnis1vs1DTO( + long id, + Spieler gewinner, + Spieler verlierer, + short toreVerlierer, + LocalDate datum +) { + public Ergebnis1vs1DTO(Ergebnis1vs1 e) { + this( + e.getId(), + e.getGewinner(), + e.getVerlierer(), + e.getToreVerlierer(), + e.getTimestamp().toLocalDate() + ); + } +} diff --git a/src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2Controller.java b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2Controller.java index a2cf64c..54589c4 100644 --- a/src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2Controller.java +++ b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2Controller.java @@ -1,6 +1,5 @@ package org.kickerelo.kickerelo.api; -import org.kickerelo.kickerelo.data.Ergebnis2vs2; import org.kickerelo.kickerelo.repository.Ergebnis2vs2Repository; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -20,13 +19,13 @@ public class Ergebnis2vs2Controller { } @GetMapping - public ResponseEntity> getAllResults() { - return ResponseEntity.ok(ergebnis2vs2Repository.findAll()); + public ResponseEntity> getAllResults() { + return ResponseEntity.ok(ergebnis2vs2Repository.findAll().stream().map(Ergebnis2vs2DTO::new).toList()); } @GetMapping("/{id}") - public ResponseEntity getResultForId(@PathVariable Long id) { - return ergebnis2vs2Repository.findById(id).map(ResponseEntity::ok) + public ResponseEntity getResultForId(@PathVariable Long id) { + return ergebnis2vs2Repository.findById(id).map(Ergebnis2vs2DTO::new).map(ResponseEntity::ok) .orElseGet(() -> ResponseEntity.noContent().build()); } } diff --git a/src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2DTO.java b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2DTO.java new file mode 100644 index 0000000..f266f79 --- /dev/null +++ b/src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2DTO.java @@ -0,0 +1,28 @@ +package org.kickerelo.kickerelo.api; + +import org.kickerelo.kickerelo.data.Ergebnis2vs2; +import org.kickerelo.kickerelo.data.Spieler; + +import java.time.LocalDate; + +public record Ergebnis2vs2DTO( + long id, + Spieler gewinnerVorn, + Spieler gewinnerHinten, + Spieler verliererVorn, + Spieler verliererHinten, + short toreVerlierer, + LocalDate datum +) { + public Ergebnis2vs2DTO(Ergebnis2vs2 e) { + this( + e.getId(), + e.getGewinnerVorn(), + e.getGewinnerHinten(), + e.getVerliererVorn(), + e.getVerliererHinten(), + e.getToreVerlierer(), + e.getTimestamp().toLocalDate() + ); + } +} \ No newline at end of file