Skip to content

Commit

Permalink
feat: Skins SQL table and Mongo collection
Browse files Browse the repository at this point in the history
  • Loading branch information
GeorgeV220 committed May 4, 2023
1 parent 308494e commit 266aa50
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 9 deletions.
23 changes: 16 additions & 7 deletions core/src/main/java/com/georgev22/skinoverlay/SkinOverlay.java
Expand Up @@ -404,6 +404,9 @@ public void setupDatabase() throws Exception {
ObjectMap<String, Pair<String, String>> map = new HashObjectMap<String, Pair<String, String>>()
.append("user_id", Pair.create("VARCHAR(38)", "NULL"))
.append("user_json", Pair.create("LONGTEXT", "NULL"));
ObjectMap<String, Pair<String, String>> skinMap = new HashObjectMap<String, Pair<String, String>>()
.append("id", Pair.create("VARCHAR(38)", "NULL"))
.append("skin", Pair.create("LONGTEXT", "NULL"));
switch (OptionsUtil.DATABASE_TYPE.getStringValue()) {
case "MySQL" -> {
if (connection == null || connection.isClosed()) {
Expand All @@ -414,8 +417,9 @@ public void setupDatabase() throws Exception {
OptionsUtil.DATABASE_PASSWORD.getStringValue(),
OptionsUtil.DATABASE_DATABASE.getStringValue());
connection = databaseWrapper.connect().getSQLConnection();
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_TABLE_NAME.getStringValue(), map);
this.userManager = new UserManager(UserManager.Type.SQL, connection, OptionsUtil.DATABASE_TABLE_NAME.getStringValue());
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_USERS_TABLE_NAME.getStringValue(), map);
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_SKINS_TABLE_NAME.getStringValue(), skinMap);
this.userManager = new UserManager(UserManager.Type.SQL, connection, OptionsUtil.DATABASE_USERS_TABLE_NAME.getStringValue());
getLogger().log(Level.INFO, "[" + getDescription().name() + "] [" + getDescription().version() + "] Database: MySQL");
}
}
Expand All @@ -428,17 +432,19 @@ public void setupDatabase() throws Exception {
OptionsUtil.DATABASE_PASSWORD.getStringValue(),
OptionsUtil.DATABASE_DATABASE.getStringValue());
connection = databaseWrapper.connect().getSQLConnection();
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_TABLE_NAME.getStringValue(), map);
this.userManager = new UserManager(UserManager.Type.SQL, connection, OptionsUtil.DATABASE_TABLE_NAME.getStringValue());
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_USERS_TABLE_NAME.getStringValue(), map);
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_SKINS_TABLE_NAME.getStringValue(), skinMap);
this.userManager = new UserManager(UserManager.Type.SQL, connection, OptionsUtil.DATABASE_USERS_TABLE_NAME.getStringValue());
getLogger().log(Level.INFO, "[" + getDescription().name() + "] [" + getDescription().version() + "] Database: PostgreSQL");
}
}
case "SQLite" -> {
if (connection == null || connection.isClosed()) {
databaseWrapper = new DatabaseWrapper(DatabaseType.SQLITE, getDataFolder().getAbsolutePath(), OptionsUtil.DATABASE_SQLITE.getStringValue());
connection = databaseWrapper.connect().getSQLConnection();
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_TABLE_NAME.getStringValue(), map);
this.userManager = new UserManager(UserManager.Type.SQL, connection, OptionsUtil.DATABASE_TABLE_NAME.getStringValue());
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_USERS_TABLE_NAME.getStringValue(), map);
databaseWrapper.getSQLDatabase().createTable(OptionsUtil.DATABASE_SKINS_TABLE_NAME.getStringValue(), skinMap);
this.userManager = new UserManager(UserManager.Type.SQL, connection, OptionsUtil.DATABASE_USERS_TABLE_NAME.getStringValue());
getLogger().log(Level.INFO, "[" + getDescription().name() + "] [" + getDescription().version() + "] Database: SQLite");
}
}
Expand All @@ -452,14 +458,17 @@ public void setupDatabase() throws Exception {
.connect();
mongoClient = databaseWrapper.getMongoClient();
mongoDatabase = databaseWrapper.getMongoDatabase();
this.userManager = new UserManager(UserManager.Type.SQL, databaseWrapper.getMongoDB(), OptionsUtil.DATABASE_MONGO_COLLECTION.getStringValue());
this.userManager = new UserManager(UserManager.Type.SQL, databaseWrapper.getMongoDB(), OptionsUtil.DATABASE_MONGO_USERS_COLLECTION.getStringValue());
this.userManager = new UserManager(UserManager.Type.SQL, databaseWrapper.getMongoDB(), OptionsUtil.DATABASE_MONGO_SKINS_COLLECTION.getStringValue());
getLogger().log(Level.INFO, "[" + getDescription().name() + "] [" + getDescription().version() + "] Database: MongoDB");
}
default -> {
connection = null;
databaseWrapper = null;
mongoClient = null;
mongoDatabase = null;
this.userManager = new UserManager(UserManager.Type.JSON, new File(this.getDataFolder(), "userdata"), null);
//TODO SKINS STORAGE
getLogger().log(Level.INFO, "[" + getDescription().name() + "] [" + getDescription().version() + "] Database: File");
}
}
Expand Down
Expand Up @@ -28,7 +28,9 @@ public enum OptionsUtil {

DATABASE_DATABASE("database.SQL.database", "SkinOverlay", Optional.empty()),

DATABASE_TABLE_NAME("database.SQL.table name", "skinoverlay_users", Optional.empty()),
DATABASE_USERS_TABLE_NAME("database.SQL.users table name", "skinoverlay_users", Optional.of("database.SQL.table name")),

DATABASE_SKINS_TABLE_NAME("database.SQL.skins table name", "skinoverlay_users", Optional.empty()),

DATABASE_SQLITE("database.SQLite.file name", "skinoverlay", Optional.empty()),

Expand All @@ -42,7 +44,9 @@ public enum OptionsUtil {

DATABASE_MONGO_DATABASE("database.MongoDB.database", "skinoverlay", Optional.empty()),

DATABASE_MONGO_COLLECTION("database.MongoDB.collection", "skinoverlay_users", Optional.empty()),
DATABASE_MONGO_USERS_COLLECTION("database.MongoDB.users collection", "skinoverlay_users", Optional.of("database.MongoDB.collection")),

DATABASE_MONGO_SKINS_COLLECTION("database.MongoDB.users collection", "skinoverlay_users", Optional.empty()),

DATABASE_TYPE("database.type", "SQLite", Optional.empty()),

Expand Down

0 comments on commit 266aa50

Please sign in to comment.