From 0de9b66d8eb6f60e354978cb9299f8a25d445e51 Mon Sep 17 00:00:00 2001 From: DanVanAtta Date: Fri, 26 Jul 2024 13:51:33 -0700 Subject: [PATCH] Remove 'fetch game chat history' endpoint We are no longer uploading chat messages from games. Endpoint removed on client, no longer needed on server. --- .../chat/history/ChatHistoryRecord.java | 34 ------------------- .../chat/history/GameChatHistoryDao.java | 24 ------------- .../history/FetchGameChatHistoryModule.java | 26 -------------- .../server/SpitfireServerApplication.java | 2 -- .../moderation/GameChatHistoryController.java | 32 ----------------- 5 files changed, 118 deletions(-) delete mode 100644 src/main/java/org/triplea/db/dao/moderator/chat/history/ChatHistoryRecord.java delete mode 100644 src/main/java/org/triplea/db/dao/moderator/chat/history/GameChatHistoryDao.java delete mode 100644 src/main/java/org/triplea/modules/moderation/chat/history/FetchGameChatHistoryModule.java delete mode 100644 src/main/java/org/triplea/spitfire/server/controllers/lobby/moderation/GameChatHistoryController.java diff --git a/src/main/java/org/triplea/db/dao/moderator/chat/history/ChatHistoryRecord.java b/src/main/java/org/triplea/db/dao/moderator/chat/history/ChatHistoryRecord.java deleted file mode 100644 index 466fb78..0000000 --- a/src/main/java/org/triplea/db/dao/moderator/chat/history/ChatHistoryRecord.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.triplea.db.dao.moderator.chat.history; - -import com.google.common.annotations.VisibleForTesting; -import java.time.Instant; -import lombok.Builder; -import lombok.Getter; -import org.jdbi.v3.core.mapper.reflect.ColumnName; -import org.triplea.http.client.lobby.moderator.ChatHistoryMessage; - -/** Represents most of a row of the game_chat_history table, who said what and when. */ -@Getter(onMethod_ = @VisibleForTesting) -public class ChatHistoryRecord { - private final Instant date; - private final String username; - private final String message; - - @Builder - public ChatHistoryRecord( - @ColumnName("date") final Instant date, - @ColumnName("username") final String username, - @ColumnName("message") final String message) { - this.date = date; - this.username = username; - this.message = message; - } - - public ChatHistoryMessage toChatHistoryMessage() { - return ChatHistoryMessage.builder() - .epochMilliDate(date.toEpochMilli()) - .username(username) - .message(message) - .build(); - } -} diff --git a/src/main/java/org/triplea/db/dao/moderator/chat/history/GameChatHistoryDao.java b/src/main/java/org/triplea/db/dao/moderator/chat/history/GameChatHistoryDao.java deleted file mode 100644 index 8727100..0000000 --- a/src/main/java/org/triplea/db/dao/moderator/chat/history/GameChatHistoryDao.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.triplea.db.dao.moderator.chat.history; - -import java.util.List; -import org.jdbi.v3.sqlobject.customizer.Bind; -import org.jdbi.v3.sqlobject.statement.SqlQuery; - -/** - * DAO to access history of in-game chat messages stored in database. Chat messages are stored for - * all lobby-connected games. - */ -public interface GameChatHistoryDao { - - @SqlQuery( - "select " - + " gch.date," - + " gch.username," - + " gch.message" - + " from game_chat_history gch" - + " join lobby_game lg on lg.id = gch.lobby_game_id" - + " where" - + " lg.game_id = :gameId" - + " and date > (now() - '6 hour'::interval)") - List getChatHistory(@Bind("gameId") String gameId); -} diff --git a/src/main/java/org/triplea/modules/moderation/chat/history/FetchGameChatHistoryModule.java b/src/main/java/org/triplea/modules/moderation/chat/history/FetchGameChatHistoryModule.java deleted file mode 100644 index 1b297d7..0000000 --- a/src/main/java/org/triplea/modules/moderation/chat/history/FetchGameChatHistoryModule.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.triplea.modules.moderation.chat.history; - -import java.util.List; -import java.util.function.Function; -import java.util.stream.Collectors; -import lombok.AllArgsConstructor; -import org.jdbi.v3.core.Jdbi; -import org.triplea.db.dao.moderator.chat.history.ChatHistoryRecord; -import org.triplea.db.dao.moderator.chat.history.GameChatHistoryDao; -import org.triplea.http.client.lobby.moderator.ChatHistoryMessage; - -@AllArgsConstructor -public class FetchGameChatHistoryModule implements Function> { - private final GameChatHistoryDao gameChatHistoryDao; - - public static FetchGameChatHistoryModule build(final Jdbi jdbi) { - return new FetchGameChatHistoryModule(jdbi.onDemand(GameChatHistoryDao.class)); - } - - @Override - public List apply(final String gameId) { - return gameChatHistoryDao.getChatHistory(gameId).stream() - .map(ChatHistoryRecord::toChatHistoryMessage) - .collect(Collectors.toList()); - } -} diff --git a/src/main/java/org/triplea/spitfire/server/SpitfireServerApplication.java b/src/main/java/org/triplea/spitfire/server/SpitfireServerApplication.java index e5146b1..07742f8 100644 --- a/src/main/java/org/triplea/spitfire/server/SpitfireServerApplication.java +++ b/src/main/java/org/triplea/spitfire/server/SpitfireServerApplication.java @@ -29,7 +29,6 @@ import org.triplea.spitfire.server.controllers.lobby.moderation.AccessLogController; import org.triplea.spitfire.server.controllers.lobby.moderation.BadWordsController; import org.triplea.spitfire.server.controllers.lobby.moderation.DisconnectUserController; -import org.triplea.spitfire.server.controllers.lobby.moderation.GameChatHistoryController; import org.triplea.spitfire.server.controllers.lobby.moderation.ModeratorAuditHistoryController; import org.triplea.spitfire.server.controllers.lobby.moderation.ModeratorsController; import org.triplea.spitfire.server.controllers.lobby.moderation.MuteUserController; @@ -127,7 +126,6 @@ public void run(final SpitfireServerConfig configuration, final Environment envi CreateAccountController.build(jdbi), DisconnectUserController.build(jdbi, chatters, playerConnectionMessagingBus), ForgotPasswordController.build(configuration, jdbi), - GameChatHistoryController.build(jdbi), GameHostingController.build(jdbi), GameListingController.build(gameListing), LobbyWatcherController.build(configuration, jdbi, gameListing), diff --git a/src/main/java/org/triplea/spitfire/server/controllers/lobby/moderation/GameChatHistoryController.java b/src/main/java/org/triplea/spitfire/server/controllers/lobby/moderation/GameChatHistoryController.java deleted file mode 100644 index 5b1a40d..0000000 --- a/src/main/java/org/triplea/spitfire/server/controllers/lobby/moderation/GameChatHistoryController.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.triplea.spitfire.server.controllers.lobby.moderation; - -import java.util.List; -import java.util.function.Function; -import javax.annotation.security.RolesAllowed; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import org.jdbi.v3.core.Jdbi; -import org.triplea.db.dao.user.role.UserRole; -import org.triplea.http.client.lobby.moderator.ChatHistoryMessage; -import org.triplea.http.client.lobby.moderator.ModeratorLobbyClient; -import org.triplea.modules.moderation.chat.history.FetchGameChatHistoryModule; -import org.triplea.spitfire.server.HttpController; - -@AllArgsConstructor(access = AccessLevel.PRIVATE) -@RolesAllowed(UserRole.MODERATOR) -public class GameChatHistoryController extends HttpController { - - private final Function> fetchChatHistoryAction; - - public static GameChatHistoryController build(final Jdbi jdbi) { - return new GameChatHistoryController(FetchGameChatHistoryModule.build(jdbi)); - } - - @POST - @Path(ModeratorLobbyClient.FETCH_GAME_CHAT_HISTORY) - public List fetchGameChatHistory(final String gameId) { - return fetchChatHistoryAction.apply(gameId); - } -}