Introduce chat database integration with message persistence and initialization.
This commit is contained in:
@@ -9,7 +9,8 @@ public enum Databases {
|
||||
LITE_BANS("litebans"),
|
||||
DISCORD("discordLink"),
|
||||
PROXY_PLAYTIME("proxyplaytime"),
|
||||
VOTING_PLUGIN("votingplugin");
|
||||
VOTING_PLUGIN("votingplugin"),
|
||||
CHAT("chat");
|
||||
|
||||
private final String internalName;
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.alttd.altitudeweb.database.chat;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
@Builder
|
||||
@Getter
|
||||
public class ChatLogDao {
|
||||
|
||||
private final String uuid;
|
||||
private final long timeStamp;
|
||||
private final String server;
|
||||
private final String miniMessage;
|
||||
private final boolean blocked;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.alttd.altitudeweb.database.chat;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ChatLogMapper {
|
||||
|
||||
@Select("""
|
||||
SELECT uuid, time_stamp, server, mini_message, blocked
|
||||
FROM chat_log
|
||||
WHERE mini_message IS NOT NULL
|
||||
AND time_stamp >= #{since}
|
||||
""")
|
||||
List<ChatLogDao> getChatLogs(@Param("since") long since);
|
||||
|
||||
}
|
||||
@@ -40,6 +40,7 @@ public class Connection {
|
||||
InitializeProxyPlaytime.init();
|
||||
InitializeDiscord.init();
|
||||
InitializeVotingPlugin.init();
|
||||
InitializeChat.init();
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.alttd.altitudeweb.setup;
|
||||
|
||||
import com.alttd.altitudeweb.database.Databases;
|
||||
import com.alttd.altitudeweb.database.chat.ChatLogMapper;
|
||||
import com.alttd.altitudeweb.database.votingplugin.VotingPluginUsersMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
public class InitializeChat {
|
||||
|
||||
protected static void init() {
|
||||
log.info("Initializing Chat");
|
||||
Connection.getConnection(Databases.CHAT, (configuration) -> {
|
||||
configuration.addMapper(ChatLogMapper.class);
|
||||
}).join();
|
||||
log.debug("Initialized Chat");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user