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 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 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 queryReports(UUID player) { + return this.get("reports", (builder) -> builder.addParameter("token", "asd"), input, SendReportResponse.class); } }