Fix account deletion

This commit is contained in:
AnimeGitB 2022-08-25 10:52:10 +09:30
parent dd10dcc09b
commit 5565a13df8
2 changed files with 21 additions and 26 deletions

View File

@ -99,10 +99,6 @@ public final class AccountCommand implements CommandHandler {
return;
}
// Make sure player isn't online as we delete their account.
kickAccount(toDelete);
// Finally, we do the actual deletion.
DatabaseHelper.deleteAccount(toDelete);
CommandHandler.sendMessage(sender, translate(sender, "commands.account.delete"));
return;

View File

@ -123,10 +123,10 @@ public final class DatabaseHelper {
Player player = Grasscutter.getGameServer().getPlayerByAccountId(target.getId());
if (player != null) {
// Close session first
if (player != null) {
player.getSession().close();
}
// Delete data from collections
DatabaseManager.getGameDatabase().getCollection("activities").deleteMany(eq("uid",player.getUid()));
DatabaseManager.getGameDatabase().getCollection("homes").deleteMany(eq("ownerUid",player.getUid()));
@ -145,7 +145,6 @@ public final class DatabaseHelper {
// Delete the player last.
DatabaseManager.getGameDatastore().find(Player.class).filter(Filters.eq("id", player.getUid())).delete();
}
// Finally, delete the account itself.
DatabaseManager.getAccountDatastore().find(Account.class).filter(Filters.eq("id", target.getId())).delete();