diff --git a/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java b/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java index 1f6cc12..a1c9a82 100644 --- a/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java +++ b/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java @@ -35,10 +35,16 @@ public abstract class VPNExecutor { public abstract void log(String log, Object... objects); public boolean isWhitelisted(UUID uuid) { + if(AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled()) { + return AntiVPN.getInstance().getDatabase().isWhitelisted(uuid); + } return whitelisted.contains(uuid); } public boolean isWhitelisted(String ip) { + if(AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled()) { + return AntiVPN.getInstance().getDatabase().isWhitelisted(ip); + } return whitelistedIps.contains(ip); } diff --git a/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java b/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java index dea196a..20e1098 100644 --- a/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java @@ -86,8 +86,10 @@ public class MongoVPN implements VPNDatabase { if(whitelisted) { Document wdoc = new Document("setting", "whitelist"); wdoc.put("uuid", uuid.toString()); + AntiVPN.getInstance().getExecutor().getWhitelisted().add(uuid); VPNExecutor.threadExecutor.execute(() -> settingsDocument.insertOne(wdoc)); } else { + AntiVPN.getInstance().getExecutor().getWhitelisted().remove(uuid); VPNExecutor.threadExecutor.execute(() -> settingsDocument.deleteMany(Filters .and( Filters.eq("setting", "whitelist"), @@ -100,8 +102,10 @@ public class MongoVPN implements VPNDatabase { if(whitelisted) { Document wdoc = new Document("setting", "whitelist"); wdoc.put("ip", ip); + AntiVPN.getInstance().getExecutor().getWhitelistedIps().add(ip); VPNExecutor.threadExecutor.execute(() -> settingsDocument.insertOne(wdoc)); } else { + AntiVPN.getInstance().getExecutor().getWhitelistedIps().remove(ip); VPNExecutor.threadExecutor.execute(() -> settingsDocument.deleteMany(Filters .and( Filters.eq("setting", "whitelist"),