diff --git a/src/Miha.Redis/RedisOptions.cs b/src/Miha.Redis/RedisOptions.cs index d202b37..44b4260 100644 --- a/src/Miha.Redis/RedisOptions.cs +++ b/src/Miha.Redis/RedisOptions.cs @@ -1,4 +1,6 @@ -namespace Miha.Redis; +using Microsoft.Extensions.Configuration; + +namespace Miha.Redis; public class RedisOptions { @@ -6,4 +8,26 @@ public class RedisOptions public string Host { get; set; } = "localhost"; public int Port { get; set; } = 6379; + + [ConfigurationKeyName("Seeding")] + public RedisSeedOptions SeedOptions { get; set; } = new(); +} + +public class RedisSeedOptions +{ + [ConfigurationKeyName("Guild")] + public RedisSeedGuildOptions? GuildOptions { get; set; } +} + +public class RedisSeedGuildOptions +{ + public ulong? AnnouncementChannel { get; set; } + + public ulong? AnnouncementRoleId { get; set; } + + public ulong? BirthdayAnnouncementChannel { get; set; } + + public ulong? WeeklyScheduleChannel { get; set; } + + public ulong? LogChannel { get; set; } } diff --git a/src/Miha.Redis/RedisSeedOptions.cs b/src/Miha.Redis/RedisSeedOptions.cs deleted file mode 100644 index 572b172..0000000 --- a/src/Miha.Redis/RedisSeedOptions.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Microsoft.Extensions.Configuration; - -namespace Miha.Redis; - -public class RedisSeedOptions -{ - public const string Section = "RedisSeed"; - - [ConfigurationKeyName("Guild")] - public RedisSeedGuildOptions? GuildOptions { get; set; } -} - -public class RedisSeedGuildOptions -{ - public ulong? AnnouncementChannel { get; set; } - - public ulong? AnnouncementRoleId { get; set; } - - public ulong? BirthdayAnnouncementChannel { get; set; } - - public ulong? WeeklyScheduleChannel { get; set; } - - public ulong? LogChannel { get; set; } -} diff --git a/src/Miha.Redis/ServiceCollectionExtensions.cs b/src/Miha.Redis/ServiceCollectionExtensions.cs index 62113a9..560c879 100644 --- a/src/Miha.Redis/ServiceCollectionExtensions.cs +++ b/src/Miha.Redis/ServiceCollectionExtensions.cs @@ -16,12 +16,10 @@ public static class ServiceCollectionExtensions public static IServiceCollection AddRedis(this IServiceCollection services, IConfiguration configuration) { var redisOptions = configuration.GetSection(RedisOptions.Section); - var redisSeedOptions = configuration.GetSection(RedisSeedOptions.Section); RedisSerializationSettings.JsonSerializerOptions.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb); services.AddOptions().Bind(redisOptions); - services.AddOptions().Bind(redisSeedOptions); services.AddSingleton(provider => { diff --git a/src/Miha.Redis/Services/RedisSeedService.cs b/src/Miha.Redis/Services/RedisSeedService.cs index 4c380a8..f9b7112 100644 --- a/src/Miha.Redis/Services/RedisSeedService.cs +++ b/src/Miha.Redis/Services/RedisSeedService.cs @@ -12,11 +12,11 @@ public class RedisSeedService private readonly ILogger _logger; public RedisSeedService( - IOptions seedOptions, + IOptions redisOptions, IGuildRepository guildRepository, ILogger logger) { - _seedOptions = seedOptions.Value; + _seedOptions = redisOptions.Value.SeedOptions; _guildRepository = guildRepository; _logger = logger; }