Skip to content

Commit

Permalink
fix: allow using configure commands in DMs (for admins)
Browse files Browse the repository at this point in the history
  • Loading branch information
DarkAtra committed Aug 14, 2024
1 parent 00fabc7 commit 74faabe
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,30 +59,14 @@ class ServerEntityConverter : EntityConverter<Server> {
put(Server::discordServerId.name, server.discordServerId)
put(Server::hostname.name, server.hostname)
put(Server::queryPort.name, server.queryPort)
server.apiHostname?.let { apiHostname ->
put(Server::apiHostname.name, apiHostname)
}
server.apiPort?.let { apiPort ->
put(Server::apiPort.name, apiPort)
}
server.apiUsername?.let { apiUsername ->
put(Server::apiUsername.name, apiUsername)
}
server.apiPassword?.let { apiPassword ->
put(Server::apiPassword.name, apiPassword)
}
server.playerActivityFeed?.let { playerActivityFeed ->
put(Server::playerActivityFeed.name, nitriteMapper.tryConvert(playerActivityFeed, Document::class.java))
}
server.pvpKillFeed?.let { pvpKillFeed ->
put(Server::pvpKillFeed.name, nitriteMapper.tryConvert(pvpKillFeed, Document::class.java))
}
server.statusMonitor?.let { statusMonitor ->
put(Server::statusMonitor.name, nitriteMapper.tryConvert(statusMonitor, Document::class.java))
}
server.pvpLeaderboard?.let { pvpLeaderboard ->
put(Server::pvpLeaderboard.name, nitriteMapper.tryConvert(pvpLeaderboard, Document::class.java))
}
put(Server::apiHostname.name, server.apiHostname)
put(Server::apiPort.name, server.apiPort)
put(Server::apiUsername.name, server.apiUsername)
put(Server::apiPassword.name, server.apiPassword)
put(Server::playerActivityFeed.name, server.playerActivityFeed?.let { nitriteMapper.tryConvert(it, Document::class.java) })
put(Server::pvpKillFeed.name, server.pvpKillFeed?.let { nitriteMapper.tryConvert(it, Document::class.java) })
put(Server::statusMonitor.name, server.statusMonitor?.let { nitriteMapper.tryConvert(it, Document::class.java) })
put(Server::pvpLeaderboard.name, server.pvpLeaderboard?.let { nitriteMapper.tryConvert(it, Document::class.java) })
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ class StatusMonitorEntityConverter : EntityConverter<StatusMonitor> {
put(StatusMonitor::discordChannelId.name, statusMonitor.discordChannelId)
put(StatusMonitor::displayServerDescription.name, statusMonitor.displayServerDescription)
put(StatusMonitor::displayPlayerGearLevel.name, statusMonitor.displayPlayerGearLevel)
statusMonitor.currentEmbedMessageId?.let { currentEmbedMessageId ->
put(StatusMonitor::currentEmbedMessageId.name, currentEmbedMessageId)
}
put(StatusMonitor::currentEmbedMessageId.name, statusMonitor.currentEmbedMessageId)
put(StatusMonitor::currentFailedAttempts.name, statusMonitor.currentFailedAttempts)
put(StatusMonitor::currentFailedApiAttempts.name, statusMonitor.currentFailedApiAttempts)
put(StatusMonitor::recentErrors.name, statusMonitor.recentErrors.map { error ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ class ServerRepositoryTest {
assertThat(server.discordServerId).isEqualTo(ServerTestUtils.DISCORD_SERVER_ID)
assertThat(server.hostname).isEqualTo(ServerTestUtils.HOST_NAME)
assertThat(server.queryPort).isEqualTo(ServerTestUtils.QUERY_PORT)
assertThat(server.apiHostname).isEqualTo(ServerTestUtils.API_HOST_NAME)
assertThat(server.apiPort).isEqualTo(ServerTestUtils.API_PORT)
assertThat(server.apiUsername).isEqualTo(ServerTestUtils.API_USERNAME)
assertThat(server.apiPassword).isEqualTo(ServerTestUtils.API_PASSWORD)
}

@Test
Expand All @@ -51,6 +55,10 @@ class ServerRepositoryTest {
assertThat(server.discordServerId).isEqualTo(ServerTestUtils.DISCORD_SERVER_ID)
assertThat(server.hostname).isEqualTo(ServerTestUtils.HOST_NAME)
assertThat(server.queryPort).isEqualTo(ServerTestUtils.QUERY_PORT)
assertThat(server.apiHostname).isEqualTo(ServerTestUtils.API_HOST_NAME)
assertThat(server.apiPort).isEqualTo(ServerTestUtils.API_PORT)
assertThat(server.apiUsername).isEqualTo(ServerTestUtils.API_USERNAME)
assertThat(server.apiPassword).isEqualTo(ServerTestUtils.API_PASSWORD)
}

@Test
Expand All @@ -67,6 +75,10 @@ class ServerRepositoryTest {
assertThat(server.discordServerId).isEqualTo(ServerTestUtils.DISCORD_SERVER_ID)
assertThat(server.hostname).isEqualTo(ServerTestUtils.HOST_NAME)
assertThat(server.queryPort).isEqualTo(ServerTestUtils.QUERY_PORT)
assertThat(server.apiHostname).isEqualTo(ServerTestUtils.API_HOST_NAME)
assertThat(server.apiPort).isEqualTo(ServerTestUtils.API_PORT)
assertThat(server.apiUsername).isEqualTo(ServerTestUtils.API_USERNAME)
assertThat(server.apiPassword).isEqualTo(ServerTestUtils.API_PASSWORD)
}

@Test
Expand Down Expand Up @@ -116,4 +128,32 @@ class ServerRepositoryTest {

assertThat(e.message).isEqualTo("Server with id '${ServerTestUtils.ID}' not found.")
}

@Test
fun `should update nullable fields of Server`() {

val server = ServerTestUtils.getServer()
serverRepository.addServer(server)

val update = serverRepository.getServer(server.id, server.discordServerId)!!.apply {
apiHostname = null
apiPort = null
apiUsername = null
apiPassword = null
}

serverRepository.updateServer(update)

val actualServer = serverRepository.getServer(ServerTestUtils.ID)

assertThat(actualServer).isNotNull()
assertThat(actualServer!!.id).isEqualTo(ServerTestUtils.ID)
assertThat(actualServer.discordServerId).isEqualTo(ServerTestUtils.DISCORD_SERVER_ID)
assertThat(actualServer.hostname).isEqualTo(ServerTestUtils.HOST_NAME)
assertThat(actualServer.queryPort).isEqualTo(ServerTestUtils.QUERY_PORT)
assertThat(actualServer.apiHostname).isNull()
assertThat(actualServer.apiPort).isNull()
assertThat(actualServer.apiUsername).isNull()
assertThat(actualServer.apiPassword).isNull()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@ object ServerTestUtils {

const val ID = "id"
val DISCORD_SERVER_ID = Snowflake(Instant.now().toKotlinInstant()).toString()
const val HOST_NAME = "localhost"
const val HOST_NAME = "darkatra.de"
const val QUERY_PORT = 8081
const val API_HOST_NAME = "localhost"
const val API_PORT = 8082
const val API_USERNAME = "test"
const val API_PASSWORD = "1234"

fun getServer(): Server {
return Server(
Expand All @@ -21,6 +25,10 @@ object ServerTestUtils {
discordServerId = DISCORD_SERVER_ID,
hostname = HOST_NAME,
queryPort = QUERY_PORT,
apiHostname = API_HOST_NAME,
apiPort = API_PORT,
apiUsername = API_USERNAME,
apiPassword = API_PASSWORD
)
}
}

0 comments on commit 74faabe

Please sign in to comment.