From 0276763a8dfc1c0867b5a578f6ca542045c6695f Mon Sep 17 00:00:00 2001 From: lars <larslukasneuhaus@gmx.de> Date: Thu, 5 Dec 2024 18:58:55 +0100 Subject: [PATCH] started implementing report repository --- .../client/repositories/ReportRepository.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/eu/mhsl/craftattack/spawn/api/client/repositories/ReportRepository.java b/src/main/java/eu/mhsl/craftattack/spawn/api/client/repositories/ReportRepository.java index 4f50acf..7da116d 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/api/client/repositories/ReportRepository.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/api/client/repositories/ReportRepository.java @@ -2,8 +2,12 @@ package eu.mhsl.craftattack.spawn.api.client.repositories; import eu.mhsl.craftattack.spawn.api.client.HttpRepository; import eu.mhsl.craftattack.spawn.api.client.ReqResp; +import eu.mhsl.craftattack.spawn.appliances.report.Report; import eu.mhsl.craftattack.spawn.util.api.ApiUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import java.util.List; import java.util.UUID; public class ReportRepository extends HttpRepository { @@ -11,10 +15,22 @@ public class ReportRepository extends HttpRepository { super(ApiUtil.getBaseUri(), ApiUtil::withAuthorizationSecret); } - public record SendReportResponse(UUID user) {} - public record ReportInput(UUID user) {} + public record ReportData(@NotNull UUID reporter, @Nullable UUID reported, String reason) { + } - public ReqResp<SendReportResponse> sendReport(ReportInput input) { - return this.post("reports", (builder) -> builder.addParameter("token", "asd"), input, SendReportResponse.class); + public record ReportDataResponse(@NotNull String url) { + } + + public record ReportsResponse(List<ReportInfo> from_self, Object to_self) { + } + + public record ReportInfo(Reporter reported, @NotNull String subject, boolean draft, @NotNull String status, @NotNull String url) { + } + + public record Reporter(@NotNull String username, @NotNull String uuid) { + } + + public ReqResp<ReportsResponse> queryReports(UUID player) { + return this.get("reports", (builder) -> builder.addParameter("token", "asd"), input, SendReportResponse.class); } }