Added model and controller for GalleryChannels

This commit is contained in:
Aleksei 2020-02-20 00:30:00 -05:00
parent 4b9f7ff121
commit 21f758e3c3
2 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,49 @@
/*
* Copyright (c) 2020. Aleksei Gryczewski
* All rights reserved.
*/
package dev.salmonllama.fsbot.database.controllers;
import dev.salmonllama.fsbot.database.FSDB;
import dev.salmonllama.fsbot.database.models.GalleryChannel;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
public class GalleryController {
public static void insert(GalleryChannel gallery) throws SQLException {
FSDB.get().insert("INSERT INTO galleries('server_id', 'server_name', 'channel_id', 'channel_name', 'tag')" +
"VALUES(?, ?, ?, ?, ?)",
gallery.serverId,
gallery.serverName,
gallery.channelId,
gallery.channelName,
gallery.tag
);
}
public static Collection<GalleryChannel> getGalleriesByServer(String serverId) throws SQLException {
ResultSet rs = FSDB.get().select("SELECT * FROM galleries WHERE server_id = ?", serverId);
Collection<GalleryChannel> galleries = new ArrayList<>();
while (rs.next()) {
galleries.add(mapObject(rs));
}
return galleries;
}
private static GalleryChannel mapObject(ResultSet rs) throws SQLException {
GalleryChannel gallery = new GalleryChannel();
gallery.serverId = rs.getString("server_id");
gallery.serverName = rs.getString("server_name");
gallery.channelId = rs.getString("channel_id");
gallery.channelName = rs.getString("channel_name");
gallery.tag = rs.getString("tag");
return gallery;
}
}

View File

@ -0,0 +1,35 @@
/*
* Copyright (c) 2020. Aleksei Gryczewski
* All rights reserved.
*/
package dev.salmonllama.fsbot.database.models;
import dev.salmonllama.fsbot.database.DatabaseModel;
public class GalleryChannel extends DatabaseModel {
public String serverId;
public String serverName;
public String channelId;
public String channelName;
public String tag;
public GalleryChannel() {
}
public static String schema() {
return "CREATE TABLE IF NOT EXISTS galleries (" +
"server_id TEXT," +
"server_name TEXT," +
"channel_id TEXT," + // PRIMARY KEY? There can only be one gallery per channel.
"channel_name 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);
}
}