Added emoji modifiers to Gallery model/controller

This commit is contained in:
Aleksei 2020-06-28 12:25:18 -04:00
parent 73e41b6c97
commit 3e7fad6410
2 changed files with 24 additions and 5 deletions

View File

@ -55,15 +55,16 @@ public class GalleryController {
}
});
}
// TODO: Refactor for proper Java-ing, add GalleryBuilder
private static void insertExec(GalleryChannel gallery) throws SQLException {
FSDB.get().insert("INSERT INTO galleries('server_id', 'server_name', 'channel_id', 'channel_name', 'tag')" +
FSDB.get().insert("INSERT INTO galleries('server_id', 'server_name', 'channel_id', 'channel_name', 'tag', 'emoji')" +
"VALUES(?, ?, ?, ?, ?)",
gallery.serverId,
gallery.serverName,
gallery.channelId,
gallery.channelName,
gallery.tag
gallery.tag,
gallery.emoji
);
}
@ -95,6 +96,14 @@ public class GalleryController {
return tag;
}
private static String getEmojiExec(String channelId) throws SQLException {
ResultSet rs = FSDB.get().select("SELECT * FROM galleries WHERE channel_id = ?");
String emoji = rs.getString("emoji");
FSDB.get().close(rs);
return emoji;
}
private static GalleryChannel mapObject(ResultSet rs) throws SQLException { // TODO: Builder this
GalleryChannel gallery = new GalleryChannel();
gallery.serverId = rs.getString("server_id");
@ -102,6 +111,7 @@ public class GalleryController {
gallery.channelId = rs.getString("channel_id");
gallery.channelName = rs.getString("channel_name");
gallery.tag = rs.getString("tag");
gallery.emoji = rs.getString("emoji");
return gallery;
}

View File

@ -13,6 +13,10 @@ public class GalleryChannel extends DatabaseModel {
public String channelId;
public String channelName;
public String tag;
// Normal emojis will be stored in plain text as :emoji:
// Server emojis will be stored in plain text as <:emoji:emoji-id>
// This can be acquired through CustomEmoji#getMentionTag()
public String emoji;
public GalleryChannel() {
@ -38,18 +42,23 @@ public class GalleryChannel extends DatabaseModel {
return tag;
}
public String getEmoji() {
return emoji;
}
public static String schema() {
return "CREATE TABLE IF NOT EXISTS galleries (" +
"server_id TEXT," +
"server_name TEXT," +
"channel_id TEXT," + // TODO: PRIMARY KEY? There can only be one gallery per channel.
"channel_name TEXT," +
"emoji TEXT," +
"tag TEXT)";
}
@Override
public String toString() {
return String.format("Gallery: [server id: %s, server name: %s, channel id: %s, channel name: %s, tag: %s]",
serverId, serverName, channelId, channelName, tag);
return String.format("Gallery: [server id: %s, server name: %s, channel id: %s, channel name: %s, tag: %s, emoji: %s]",
serverId, serverName, channelId, channelName, tag, emoji);
}
}