Add BauweltMemberConfig #102
Keine Reviewer
Label
Kein Label
Bug
Codeverbesserung
Einsteiger Freundlich
Idee
In Arbeit
Neues Feature
Prio A
Security Breach
Überprüfung notwendig
Verbesserung
Zu Beobachten
Kein Meilenstein
Niemand zuständig
2 Beteiligte
Fällig am
Kein Fälligkeitsdatum gesetzt.
Abhängigkeiten
Keine Abhängigkeiten gesetzt.
Referenz: SteamWar/SpigotCore#102
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren
Keine Beschreibung angegeben.
Branch "BauweltMemberConfig" löschen
Das Löschen eines Branches ist permanent. Obwohl der Branch für eine kurze Zeit weiter existieren könnte, kann diese Aktion in den meisten Fällen NICHT rückgängig gemacht werden. Fortfahren?
Ich würde ganz gerne hier von Lixfel schonmal ein kleinen PR bekommen, damit ich weiß was sich vllt noch ändern sollte.
@ -0,0 +28,4 @@
public final class BauweltMemberConfig {
private BauweltMemberConfig() {
throw new IllegalStateException("Utility Class");
Werf das Raus, der fucking Konstruktor ist schließlich private
@ -0,0 +42,4 @@
public static String getPlayerConfig(int id) {
ResultSet config = SQL.select("SELECT * FROM MemberConfig WHERE UserID = ?", id);
try {
if (config == null || !config.next()) {
config sollte nie null sein?
Warum nicht?
@ -0,0 +47,4 @@
}
return config.getString("BauConfig");
} catch (SQLException e) {
return null;
Nein WTF? Werf ne SecurityException, irgendwas läuft da gewaltig schief!
WIP: Add BauweltMemberConfigzu Add BauweltMemberConfig@ -0,0 +51,4 @@
}
}
public static void updatePlayerConfig(Player player, String configType, String config) {
Können wir konsistent zu den Spalten bleiben und das durchgehend config und value nennen?
Ja habe ich.
@ -0,0 +67,4 @@
SQL.update("INSERT INTO UserConfig (User, Config, Value) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE Value = VALUES(Value)", id, configType, config);
}
public static void removePlayerConfig(Player player, String configType) {
Üblicherweise haben wir keine Player-Methoden in den Datenbankmethoden, sondern nur UUID und id-Support.
@ -0,0 +41,4 @@
}
return configResult.getString("Value");
} catch (SQLException e) {
throw new SecurityException();
Ungeil, da geht der ursprüngliche Fehler verloren => Stacktrace hat keine aussagekraft mehr. Pack noch einen String mit kurzbeschreibung und daran anhängend die Exception dran aka. new SecException("Bla", e);
Datenbanktabelle muss noch erstellt werden. Das mache ich, damit alle Key-Constraints und Indezes passen.