[CompositeRoles] Directly deserialiaze to ulong

This commit is contained in:
2023-03-25 10:57:57 +01:00
parent 14f90a2d18
commit cb0b993ceb
4 changed files with 6 additions and 7 deletions

View File

@@ -8,14 +8,13 @@ namespace Cocotte.Modules.Activities;
public class CompositeRolesListener public class CompositeRolesListener
{ {
private readonly ILogger<CompositeRolesListener> _logger; private readonly ILogger<CompositeRolesListener> _logger;
private readonly IDictionary<ulong, GuildCompositeRoles[]> _compositeRoles; private readonly IReadOnlyDictionary<ulong, GuildCompositeRoles[]> _compositeRoles;
public CompositeRolesListener(ILogger<CompositeRolesListener> logger, public CompositeRolesListener(ILogger<CompositeRolesListener> logger,
IOptions<CompositeRolesOptions> compositeRolesOptions) IOptions<CompositeRolesOptions> compositeRolesOptions)
{ {
_logger = logger; _logger = logger;
// Initialize dictionary: transform string guildIds to ulong _compositeRoles = compositeRolesOptions.Value.CompositeRoles;
_compositeRoles = compositeRolesOptions.Value.CompositeRoles.ToDictionary(kp => ulong.Parse(kp.Key), kp => kp.Value);
} }
public async Task UserUpdated(Cacheable<SocketGuildUser, ulong> cacheable, SocketGuildUser guildUser) public async Task UserUpdated(Cacheable<SocketGuildUser, ulong> cacheable, SocketGuildUser guildUser)

View File

@@ -4,7 +4,7 @@ public class CompositeRolesOptions
{ {
public const string SectionName = "CompositeRolesOptions"; public const string SectionName = "CompositeRolesOptions";
public required IReadOnlyDictionary<string, GuildCompositeRoles[]> CompositeRoles { get; init; } public required IReadOnlyDictionary<ulong, GuildCompositeRoles[]> CompositeRoles { get; init; }
} }
public class GuildCompositeRoles public class GuildCompositeRoles

View File

@@ -10,7 +10,7 @@ public class CdnUtils
/// <summary> /// <summary>
/// Needs to be updated each time a media is updated on the CDN /// Needs to be updated each time a media is updated on the CDN
/// </summary> /// </summary>
private const string RandomSuffix = "a57z45a"; private const string RandomSuffix = "assets1";
public static string GetAsset(string assetName) public static string GetAsset(string assetName)
{ {

View File

@@ -1,7 +1,7 @@
{ {
"CompositeRolesOptions": { "CompositeRolesOptions": {
"CompositeRoles": { "CompositeRoles": {
"someGuildId (ulong)": [ "someGuildId": [
{ {
"TargetRoleId": 1, "TargetRoleId": 1,
"CompositeRolesIds": [ "CompositeRolesIds": [
@@ -11,7 +11,7 @@
] ]
} }
], ],
"anotherGuildId (ulong)": [ "anotherGuildId": [
{ {
"TargetRoleId": 45, "TargetRoleId": 45,
"CompositeRolesIds": [ "CompositeRolesIds": [