yes
This commit is contained in:
parent
b06fd84985
commit
20b4e20685
|
@ -36,7 +36,7 @@ public final class POSTServersHeartbeat implements Handler<RoutingContext> {
|
|||
public void handle(RoutingContext ctx) {
|
||||
Actor actor = ctx.get("actor");
|
||||
|
||||
if (actor.getType().isServer()) {
|
||||
if (!actor.getType().isServer()) {
|
||||
ErrorUtils.respondOther(ctx, 403, "This action can only be performed when requested by a server.", "serverOnly", ImmutableMap.of());
|
||||
return;
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ public final class POSTServersHeartbeat implements Handler<RoutingContext> {
|
|||
|
||||
CompositeFuture.all(
|
||||
createInfoResponse(actorServer, requestBody.getDouble("lastTps"), playerNames),
|
||||
createPlayerResponse(actorServer, playerNames, playerIps),
|
||||
createPlayerResponse(actor, actorServer, playerNames, playerIps),
|
||||
createPermissionsResponse(ServerGroup.findById(actorServer.getServerGroup())),
|
||||
createEventsResponse(actorServer, requestBody.getJsonArray("events"))
|
||||
).setHandler((result) -> {
|
||||
|
@ -82,7 +82,7 @@ public final class POSTServersHeartbeat implements Handler<RoutingContext> {
|
|||
return callback;
|
||||
}
|
||||
|
||||
private Future<Map<String, Object>> createPlayerResponse(Server server, Map<UUID, String> playerNames, Map<UUID, String> playerIps) {
|
||||
private Future<Map<String, Object>> createPlayerResponse(Actor actor, Server server, Map<UUID, String> playerNames, Map<UUID, String> playerIps) {
|
||||
Future<Map<String, Object>> callback = Future.future();
|
||||
|
||||
Future<Map<UUID, User>> userLookupCallback = Future.future();
|
||||
|
@ -114,7 +114,7 @@ public final class POSTServersHeartbeat implements Handler<RoutingContext> {
|
|||
|
||||
users.forEach((uuid, user) -> {
|
||||
Future<Map<String, Object>> loginInfoFuture = Future.future();
|
||||
createLoginInfo(user, server, grants.get(uuid), punishments.get(uuid), prefixGrants.get(uuid), loginInfoFuture);
|
||||
createLoginInfo(actor, user, server, grants.get(uuid), punishments.get(uuid), prefixGrants.get(uuid), loginInfoFuture);
|
||||
loginInfoFutures.put(uuid, loginInfoFuture);
|
||||
});
|
||||
|
||||
|
@ -236,8 +236,9 @@ public final class POSTServersHeartbeat implements Handler<RoutingContext> {
|
|||
return result;
|
||||
}
|
||||
|
||||
private void createLoginInfo(User user, Server server, List<Grant> grants, List<Punishment> punishments, List<PrefixGrant> prefixGrants, Future<Map<String, Object>> callback) {
|
||||
if (user.seenOnServer(server)) {
|
||||
private void createLoginInfo(Actor actor, User user, Server server, List<Grant> grants, List<Punishment> punishments, List<PrefixGrant> prefixGrants, Future<Map<String, Object>> callback) {
|
||||
|
||||
if (actor.getType() == ActorType.SERVER && user.seenOnServer(server)) {
|
||||
user.save((ignored, error) -> {
|
||||
if (error != null) {
|
||||
callback.fail(error);
|
||||
|
|
|
@ -63,8 +63,10 @@ public final class POSTUsersIdLogin implements Handler<RoutingContext> {
|
|||
ErrorUtils.respondInternalError(ctx, updateUsernameError);
|
||||
return;
|
||||
}
|
||||
|
||||
if(actor.getType() == ActorType.SERVER) {
|
||||
user.seenOnServer(actorServer);
|
||||
}
|
||||
|
||||
user.save((ignored3, saveUserError) -> {
|
||||
if (saveUserError != null) {
|
||||
ErrorUtils.respondInternalError(ctx, saveUserError);
|
||||
|
|
Loading…
Reference in New Issue