mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 09:09:54 +02:00
Add !account list command
This commit is contained in:
@@ -11,15 +11,22 @@ public class AccountCommand implements CommandHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String execute(CommandArgs args) {
|
public String execute(CommandArgs args) {
|
||||||
if (args.size() < 2) {
|
if (args.size() < 1) {
|
||||||
return "Invalid amount of args";
|
return "Invalid amount of args";
|
||||||
}
|
}
|
||||||
|
|
||||||
String command = args.get(0).toLowerCase();
|
String command = args.get(0).toLowerCase();
|
||||||
String username = args.get(1);
|
|
||||||
|
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case "create" -> {
|
case "create" -> {
|
||||||
|
// Get username
|
||||||
|
if (args.size() < 2) {
|
||||||
|
return "Invalid amount of args";
|
||||||
|
}
|
||||||
|
|
||||||
|
String username = args.get(1);
|
||||||
|
|
||||||
// Reserved player uid
|
// Reserved player uid
|
||||||
int reservedUid = 0;
|
int reservedUid = 0;
|
||||||
|
|
||||||
@@ -34,12 +41,34 @@ public class AccountCommand implements CommandHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "delete" -> {
|
case "delete" -> {
|
||||||
|
// Get username
|
||||||
|
if (args.size() < 2) {
|
||||||
|
return "Invalid amount of args";
|
||||||
|
}
|
||||||
|
|
||||||
|
String username = args.get(1);
|
||||||
|
|
||||||
|
// Delete account
|
||||||
if (AccountHelper.deleteAccount(username)) {
|
if (AccountHelper.deleteAccount(username)) {
|
||||||
return "Account deleted";
|
return "Account deleted";
|
||||||
} else {
|
} else {
|
||||||
return "Account doesnt exist";
|
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
|
// Fallback
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package emu.nebula.game.account;
|
|||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import emu.nebula.Nebula;
|
import emu.nebula.Nebula;
|
||||||
import emu.nebula.game.player.Player;
|
import emu.nebula.game.player.Player;
|
||||||
@@ -41,6 +42,10 @@ public class AccountHelper {
|
|||||||
return Nebula.getAccountDatabase().getObjectByField(Account.class, "loginToken", token);
|
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) {
|
public static boolean deleteAccount(String email) {
|
||||||
// Get account
|
// Get account
|
||||||
Account account = Nebula.getAccountDatabase().getObjectByField(Account.class, "email", email);
|
Account account = Nebula.getAccountDatabase().getObjectByField(Account.class, "email", email);
|
||||||
|
|||||||
Reference in New Issue
Block a user