From 2870ca5991214f42a2352a4078bdce2433c5bf68 Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Sat, 28 Oct 2023 20:06:17 +0200 Subject: [PATCH] [BUG] Fix incorrect result for passed access control checks --- gradle.properties | 2 +- .../sdlink/core/accounts/MinecraftAccount.java | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index 57e95f1..35876d2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ version_major=0 version_minor=0 -version_patch=30 +version_patch=31 shade_group=com.hypherionmc.sdlink.shaded. diff --git a/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java b/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java index 17f2bab..226969d 100644 --- a/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java +++ b/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java @@ -266,8 +266,8 @@ public class MinecraftAccount { case "memberNotFound" -> { return Result.error(SDLinkConfig.INSTANCE.accessControl.verificationMessages.nonMember); } - case "verificationFailed" -> { - return Result.error("Failed to complete verification checks. Please notify the server owner"); + case "rolesNotLoaded" -> { + return Result.error("Server has required roles configured, but no discord roles were loaded. Please notify the server owner"); } case "rolesNotFound" -> { return Result.error(SDLinkConfig.INSTANCE @@ -301,7 +301,10 @@ public class MinecraftAccount { } - if (!SDLinkConfig.INSTANCE.accessControl.requiredRoles.isEmpty() && !RoleManager.getVerificationRoles().isEmpty()) { + if (!SDLinkConfig.INSTANCE.accessControl.requiredRoles.isEmpty()) { + if (RoleManager.getVerificationRoles().isEmpty()) + return Result.error("rolesNotLoaded"); + Profiler profiler = Profiler.getProfiler("checkRequiredRoles"); profiler.start("Checking Required Roles"); AtomicBoolean anyFound = new AtomicBoolean(false); @@ -323,7 +326,7 @@ public class MinecraftAccount { return Result.error("memberNotFound"); } - return Result.error("verificationFailed"); + return Result.success("pass"); } public String getUsername() {