Add !account list command

This commit is contained in:
Melledy
2026-07-20 21:09:23 -07:00
parent 81362f97a8
commit ee6dacf854
2 changed files with 36 additions and 2 deletions
@@ -11,15 +11,22 @@ public class AccountCommand implements CommandHandler {
@Override
public String execute(CommandArgs args) {
if (args.size() < 2) {
if (args.size() < 1) {
return "Invalid amount of args";
}
String command = args.get(0).toLowerCase();
String username = args.get(1);
switch (command) {
case "create" -> {
// Get username
if (args.size() < 2) {
return "Invalid amount of args";
}
String username = args.get(1);
// Reserved player uid
int reservedUid = 0;
@@ -34,12 +41,34 @@ public class AccountCommand implements CommandHandler {
}
}
case "delete" -> {
// Get username
if (args.size() < 2) {
return "Invalid amount of args";
}
String username = args.get(1);
// Delete account
if (AccountHelper.deleteAccount(username)) {
return "Account deleted";
} else {
return "Account doesnt exist";
}
}
case "list" -> {
var list = AccountHelper.getAccountList();
var sb = new StringBuilder();
sb.append("Listing all accounts:");
sb.append("\n");
for (var account : list) {
sb.append(account.getUid() + " : " + account.getEmail());
sb.append("\n");
}
return sb.toString();
}
}
// Fallback
@@ -3,6 +3,7 @@ package emu.nebula.game.account;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.Base64;
import java.util.List;
import emu.nebula.Nebula;
import emu.nebula.game.player.Player;
@@ -41,6 +42,10 @@ public class AccountHelper {
return Nebula.getAccountDatabase().getObjectByField(Account.class, "loginToken", token);
}
public static List<Account> getAccountList() {
return Nebula.getAccountDatabase().getObjects(Account.class).toList();
}
public static boolean deleteAccount(String email) {
// Get account
Account account = Nebula.getAccountDatabase().getObjectByField(Account.class, "email", email);