added verbose logging for api requests
added autostrike for early leave
This commit is contained in:
@ -45,7 +45,7 @@ public abstract class HttpRepository extends Repository {
|
||||
.POST(HttpRequest.BodyPublishers.ofString(this.gson.toJson(data)))
|
||||
.build();
|
||||
|
||||
return this.execute(request, outputType);
|
||||
return this.execute(request, outputType, data);
|
||||
}
|
||||
|
||||
protected <TInput, TOutput> ReqResp<TOutput> put(String command, TInput data, Class<TOutput> outputType) {
|
||||
@ -58,7 +58,7 @@ public abstract class HttpRepository extends Repository {
|
||||
.PUT(HttpRequest.BodyPublishers.ofString(this.gson.toJson(data)))
|
||||
.build();
|
||||
|
||||
return this.execute(request, outputType);
|
||||
return this.execute(request, outputType, data);
|
||||
}
|
||||
|
||||
protected <TOutput> ReqResp<TOutput> get(String command, Class<TOutput> outputType) {
|
||||
@ -71,7 +71,7 @@ public abstract class HttpRepository extends Repository {
|
||||
.GET()
|
||||
.build();
|
||||
|
||||
return this.execute(request, outputType);
|
||||
return this.execute(request, outputType, null);
|
||||
}
|
||||
|
||||
private URI getUri(String command, Consumer<URIBuilder> parameters) {
|
||||
@ -103,11 +103,12 @@ public abstract class HttpRepository extends Repository {
|
||||
return builder;
|
||||
}
|
||||
|
||||
private <TResponse> ReqResp<TResponse> execute(HttpRequest request, Class<TResponse> clazz) {
|
||||
private <TResponse> ReqResp<TResponse> execute(HttpRequest request, Class<TResponse> clazz, Object original) {
|
||||
ReqResp<String> rawResponse = this.sendHttp(request);
|
||||
Main.logger().info(String.format(
|
||||
"Request: %s\nResponse: %s",
|
||||
"Request: %s\nRequest-Data: %s\nResponse: %s",
|
||||
request,
|
||||
this.gson.toJson(original),
|
||||
rawResponse
|
||||
));
|
||||
return new ReqResp<>(rawResponse.status(), this.gson.fromJson(rawResponse.data(), clazz));
|
||||
|
@ -1,6 +1,8 @@
|
||||
package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.common.api.repositories.VaroReportRepository;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
|
||||
import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -40,10 +42,24 @@ class ConnectivityChangeListener extends ApplianceListener<Teams> {
|
||||
return;
|
||||
}
|
||||
|
||||
if(event.getPlayer().isOp()) return;
|
||||
|
||||
VaroTeam team = Main.instance().getAppliance(Teams.class).getTeamFromPlayer(event.getPlayer().getUniqueId());
|
||||
Objects.requireNonNull(team, "Team not found for player " + event.getPlayer().getUniqueId());
|
||||
Main.logger().info(String.format("Team %s got a Strike, because they %s left early!", team.name, event.getPlayer().getName()));
|
||||
// TODO: strike team
|
||||
|
||||
VaroReportRepository.StrikeCreationInfo report = new VaroReportRepository.StrikeCreationInfo(
|
||||
null,
|
||||
event.getPlayer().getUniqueId(),
|
||||
"early left",
|
||||
"player left the server too early",
|
||||
null,
|
||||
null,
|
||||
1
|
||||
);
|
||||
ReqResp<Void> response = Main.instance().getRepositoryLoader().getRepository(VaroReportRepository.class).createStrike(report);
|
||||
Main.logger().info(String.format("Autostrike response for Team %s: %s", team.name, response));
|
||||
|
||||
this.getAppliance().enforceTeamLeave(event.getPlayer());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user