Merge pull request #69 from dalbodeule/develop

debug DiscordGuildCache (x2)
This commit is contained in:
JinU Choi 2024-08-14 17:37:46 +09:00 committed by GitHub
commit 3ab6a4031a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 1 deletions

View File

@ -23,6 +23,9 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import space.mori.chzzk_bot.common.services.UserService
import space.mori.chzzk_bot.webserver.routes.*
import space.mori.chzzk_bot.webserver.utils.CachedGuilds
import space.mori.chzzk_bot.webserver.utils.DiscordGuildCache
import space.mori.chzzk_bot.webserver.utils.Guild
import java.time.Duration
val dotenv = dotenv {
@ -125,6 +128,11 @@ val server = embeddedServer(Netty, port = 8080, ) {
it.owner
}.map { it.id }
))
DiscordGuildCache.addGuild(guilds.associate {
it.id to CachedGuilds(
Guild(it.id, it.name, it.icon, it.banner)
)
})
redirects[principal.state]?.let { redirect ->
call.respondRedirect(redirect)

View File

@ -18,7 +18,7 @@ object DiscordGuildCache {
suspend fun getCachedGuilds(guildId: String): Guild? {
val now = Instant.now()
return if(cache.isNotEmpty() && cache[guildId]?.timestamp?.plusSeconds(EXP_SECONDS)?.isAfter(now) == true) {
return if(cache.isNotEmpty() && cache[guildId]?.timestamp?.plusSeconds(EXP_SECONDS)?.isAfter(now) == false) {
cache[guildId]?.guild
} else {
fetchAllGuilds()
@ -61,6 +61,10 @@ object DiscordGuildCache {
delay(1000)
}
}
fun addGuild(guilds: Map<String, CachedGuilds>) {
cache.putAll(guilds)
}
}
data class CachedGuilds(