mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 17:19:58 +02:00
Add !account list command
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user