why is Account#onLoad THE DAMN REASON FOR HOURS OF TESTING

This commit is contained in:
KingRainbow44
2022-04-21 02:07:05 -04:00
parent b902fa6f48
commit 0a96012f2c
3 changed files with 14 additions and 21 deletions

View File

@@ -1,20 +1,13 @@
package emu.grasscutter.game;
import dev.morphia.annotations.Collation;
import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Id;
import dev.morphia.annotations.Indexed;
import dev.morphia.annotations.PreLoad;
import dev.morphia.annotations.*;
import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.utils.Crypto;
import emu.grasscutter.utils.Utils;
import dev.morphia.annotations.IndexOptions;
import java.util.ArrayList;
import java.util.List;
import com.mongodb.DBObject;
@Entity(value = "accounts", useDiscriminator = false)
public class Account {
@Id private String id;
@@ -30,7 +23,7 @@ public class Account {
private String token;
private String sessionKey; // Session token for dispatch server
private List<String> permissions;
@Deprecated
public Account() {
this.permissions = new ArrayList<>();
@@ -121,15 +114,16 @@ public class Account {
return this.token;
}
@PreLoad
public void onLoad(DBObject dbObj) {
// Grant the superuser permissions to accounts created before the permissions update
if (!dbObj.containsField("permissions")) {
this.addPermission("*");
}
}
public void save() {
DatabaseHelper.saveAccount(this);
}
// TODO: Find an implementation for this. Morphia 2.0 breaks this method for some reason?
// @PreLoad
// public void onLoad(DBObject object) {
// // Grant the superuser permissions to accounts created before the permissions update
// if (!object.containsField("permissions")) {
// this.addPermission("*");
// }
// }
}