From b5fcc9e81b20fef6be505e1dc77b470cff6c675d Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Wed, 4 Oct 2023 04:14:25 -0700 Subject: [PATCH] Make a helper class for creating/deleting accounts --- .../lunarcore/commands/ServerCommands.java | 32 ++++------------- .../lunarcore/game/account/AccountHelper.java | 34 +++++++++++++++++++ 2 files changed, 40 insertions(+), 26 deletions(-) create mode 100644 src/main/java/emu/lunarcore/game/account/AccountHelper.java diff --git a/src/main/java/emu/lunarcore/commands/ServerCommands.java b/src/main/java/emu/lunarcore/commands/ServerCommands.java index 3662d1f..eca1017 100644 --- a/src/main/java/emu/lunarcore/commands/ServerCommands.java +++ b/src/main/java/emu/lunarcore/commands/ServerCommands.java @@ -4,6 +4,7 @@ import java.lang.reflect.Modifier; import java.util.HashMap; import emu.lunarcore.LunarRail; +import emu.lunarcore.game.account.AccountHelper; import emu.lunarcore.util.Utils; @SuppressWarnings("unused") @@ -61,9 +62,7 @@ public class ServerCommands { LunarRail.getLogger().error("Invalid amount of args"); return; } - - emu.lunarcore.game.account.Account account = null; - + String command = split[0].toLowerCase(); String username = split[1]; @@ -83,37 +82,18 @@ public class ServerCommands { reservedUid = Utils.parseSafeInt(split[2]); } - // Get acocunt from database - account = LunarRail.getAccountDatabase().getObjectByField(emu.lunarcore.game.account.Account.class, "username", username); - - if (account == null) { - // Create account - //String hash = BCrypt.withDefaults().hashToString(12, password.toCharArray()); - - account = new emu.lunarcore.game.account.Account(username); - account.setReservedPlayerUid(reservedUid); - account.save(); - + if (AccountHelper.createAccount(username, null, reservedUid)) { LunarRail.getLogger().info("Account created"); } else { LunarRail.getLogger().error("Account already exists"); } - break; case "delete": - account = LunarRail.getAccountDatabase().getObjectByField(emu.lunarcore.game.account.Account.class, "name", username); - - if (account == null) { - LunarRail.getLogger().info("Account doesnt exist"); - return; - } - - boolean success = LunarRail.getAccountDatabase().delete(account); - - if (success) { + if (AccountHelper.deleteAccount(username)) { LunarRail.getLogger().info("Account deleted"); + } else { + LunarRail.getLogger().info("Account doesnt exist"); } - break; } } diff --git a/src/main/java/emu/lunarcore/game/account/AccountHelper.java b/src/main/java/emu/lunarcore/game/account/AccountHelper.java new file mode 100644 index 0000000..99997e7 --- /dev/null +++ b/src/main/java/emu/lunarcore/game/account/AccountHelper.java @@ -0,0 +1,34 @@ +package emu.lunarcore.game.account; + +import emu.lunarcore.LunarRail; + +/** + * Helper class for handling account related stuff + */ +public class AccountHelper { + + public static boolean createAccount(String username, String password, int reservedUid) { + Account account = LunarRail.getAccountDatabase().getObjectByField(Account.class, "name", username); + + if (account != null) { + return false; + } + + account = new Account(username); + account.setReservedPlayerUid(reservedUid); + account.save(); + + return true; + } + + public static boolean deleteAccount(String username) { + Account account = LunarRail.getAccountDatabase().getObjectByField(Account.class, "name", username); + + if (account == null) { + return false; + } + + return LunarRail.getAccountDatabase().delete(account); + } + +}