From fffc1522b0a3d42d2f136d2965e93150c6796462 Mon Sep 17 00:00:00 2001 From: SofianeLasri <alasri250@gmail.com> Date: Mon, 24 Apr 2023 16:40:16 +0200 Subject: [PATCH] =?UTF-8?q?Modification=20de=20la=20m=C3=A9thode=20setUser?= =?UTF-8?q?Setting=20pour=20utiliser=20bjLoquent,=20et=20mise=20=C3=A0=20j?= =?UTF-8?q?our=20de=20ce=20dernier=20pour=20l'ajout=20du=20support=20des?= =?UTF-8?q?=20cl=C3=A9s=20primaires=20composites.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 3 +- .../slcraftplugin/models/UserSetting.java | 2 +- .../slcraftplugin/utils/Database.java | 46 +++++++------------ 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/pom.xml b/pom.xml index 5e9f945..211d42c 100644 --- a/pom.xml +++ b/pom.xml @@ -98,11 +98,10 @@ <version>5.4</version> <scope>provided</scope> </dependency> - <!-- Version du 22 Avril 2023 --> <dependency> <groupId>com.github.SofianeLasri</groupId> <artifactId>bjLoquent</artifactId> - <version>6729e4b</version> + <version>db12baa</version> </dependency> </dependencies> </project> diff --git a/src/main/java/com/slprojects/slcraftplugin/models/UserSetting.java b/src/main/java/com/slprojects/slcraftplugin/models/UserSetting.java index 9693752..a86d7a0 100644 --- a/src/main/java/com/slprojects/slcraftplugin/models/UserSetting.java +++ b/src/main/java/com/slprojects/slcraftplugin/models/UserSetting.java @@ -9,7 +9,7 @@ public class UserSetting extends Model { public UserSetting() { super.tableName = "site_userSetting"; - super.primaryKeyName = "uuid"; + super.primaryKey = new String[]{"uuid", "name"}; } public String getUuid() { diff --git a/src/main/java/com/slprojects/slcraftplugin/utils/Database.java b/src/main/java/com/slprojects/slcraftplugin/utils/Database.java index 3844aff..40f8323 100644 --- a/src/main/java/com/slprojects/slcraftplugin/utils/Database.java +++ b/src/main/java/com/slprojects/slcraftplugin/utils/Database.java @@ -2,6 +2,7 @@ package com.slprojects.slcraftplugin.utils; import com.slprojects.slcraftplugin.models.UserSetting; import com.slprojects.slcraftplugin.utils.database.Configuration; +import net.luckperms.api.model.user.User; import org.bjloquent.Connector; import org.bjloquent.Model; @@ -46,36 +47,23 @@ public class Database { * @param value Valeur de la clé */ public static void setUserSetting(String uuid, String key, String value) { - Connection con; - try { - con = bddOpenConn(); - } catch (SQLException e) { - ConsoleLog.danger("Impossible d'ouvrir la connexion à la bdd."); - throw new RuntimeException(e); - } - boolean isEntryExists = (getUserSetting(uuid, key) != null); - - try { - if (isEntryExists) { - PreparedStatement updateEntry = con.prepareStatement("UPDATE " + userSettingsTabName + " SET value = ? WHERE uuid = ? AND name = ?"); - updateEntry.setString(1, value); - updateEntry.setString(2, uuid); - updateEntry.setString(3, key); - updateEntry.executeUpdate(); - } else { - insertUserSettingEntry(uuid, key, value); - } - } catch (SQLException e) { - ConsoleLog.danger("Erreur lors de l'exécution de la requête sql."); - throw new RuntimeException(e); - } + List<UserSetting> userSettingExists = Model.where( + UserSetting.class, + new String[]{"uuid", "name"}, + new String[]{"=", "="}, + new String[]{uuid, key} + ); - // On ferme la bdd - try { - con.close(); - } catch (SQLException e) { - ConsoleLog.danger("Impossible de fermer la connexion à la bdd."); - throw new RuntimeException(e); + if (userSettingExists.size() == 0) { + UserSetting userSetting = new UserSetting(); + userSetting.setUuid(uuid); + userSetting.setName(key); + userSetting.setValue(value); + userSetting.create(); + } else { + UserSetting userSetting = userSettingExists.get(0); + userSetting.setValue(value); + userSetting.save(); } } -- GitLab