From cfdd42ef2fb213a9a363981a3c512b63553c8055 Mon Sep 17 00:00:00 2001 From: NovaFox161 Date: Tue, 12 Aug 2025 18:55:09 -0500 Subject: [PATCH] Add support for redis username and database --- .../dreamexposure/discal/client/config/DiscordConfig.kt | 8 ++++++-- .../kotlin/org/dreamexposure/discal/core/config/Config.kt | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt b/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt index 0e8917a7..c99378a2 100644 --- a/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt +++ b/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt @@ -70,15 +70,19 @@ class DiscordConfig { fun discordStores(): StoreService { val useRedis = Config.CACHE_USE_REDIS_D4J.getBoolean() val redisHost = Config.REDIS_HOST.getString() - val redisPassword = Config.REDIS_PASSWORD.getString().toCharArray() val redisPort = Config.REDIS_PORT.getInt() + val redisDatabase = Config.REDIS_DATABASE.getInt() + val redisUsername = Config.REDIS_USERNAME.getString() + val redisPassword = Config.REDIS_PASSWORD.getString().toCharArray() val redisCluster = Config.CACHE_REDIS_IS_CLUSTER.getBoolean() val prefix = Config.CACHE_PREFIX.getString() return if (useRedis) { val uriBuilder = RedisURI.Builder .redis(redisHost, redisPort) - if (redisPassword.isNotEmpty()) uriBuilder.withPassword(redisPassword) + if (redisDatabase > -1) uriBuilder.withDatabase(redisDatabase) + if (redisUsername.isNotEmpty() && redisPassword.isNotEmpty()) uriBuilder.withAuthentication(redisUsername, redisPassword) + else if (redisPassword.isNotEmpty()) uriBuilder.withPassword(redisPassword) val rss = if (redisCluster) { RedisClusterStoreService.Builder() diff --git a/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt b/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt index 244f7fc2..168d3fa3 100644 --- a/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt +++ b/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt @@ -1,6 +1,5 @@ package org.dreamexposure.discal.core.config -import org.dreamexposure.discal.core.config.Config.entries import java.io.FileReader import java.util.* @@ -16,6 +15,8 @@ enum class Config(private val key: String, private var value: Any? = null) { // Redis cache settings REDIS_HOST("spring.data.redis.host"), REDIS_PORT("spring.data.redis.port"), + REDIS_DATABASE("spring.data.redis.database", -1), + REDIS_USERNAME("spring.data.redis.username", ""), REDIS_PASSWORD("spring.data.redis.password", ""), CACHE_REDIS_IS_CLUSTER("redis.cluster", false), CACHE_USE_REDIS("bot.cache.redis", false),