From a031213aab87589d3b57875ac42ece803cd60c19 Mon Sep 17 00:00:00 2001 From: Anton Micke Date: Mon, 14 Jul 2025 13:46:24 +0200 Subject: [PATCH] Hide exact game time in API --- .../kickerelo/api/Ergebnis1vs1Controller.java | 9 +++--- .../kickerelo/api/Ergebnis1vs1DTO.java | 24 ++++++++++++++++ .../kickerelo/api/Ergebnis2vs2Controller.java | 9 +++--- .../kickerelo/api/Ergebnis2vs2DTO.java | 28 +++++++++++++++++++ 4 files changed, 60 insertions(+), 10 deletions(-) create mode 100644 src/main/java/org/kickerelo/kickerelo/api/Ergebnis1vs1DTO.java create mode 100644 src/main/java/org/kickerelo/kickerelo/api/Ergebnis2vs2DTO.java 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