public VerificationKey(string key, VerificationKeyScope keyscope, long forumUserId, ulong userId, ulong guildId) { Key = key; KeyScope = keyscope; ForumUserId = forumUserId; DiscordUserId = userId; GuildId = guildId; CreatedAt = DateTime.UtcNow; }
public bool IsKeyFor(ulong guildId, ulong userId, long forumUserId, VerificationKeyScope keyScope) => GuildId == guildId && DiscordUserId == userId && ForumUserId == forumUserId && KeyScope == keyScope;
public static bool RemoveKey(ulong guildId, ulong userId, long forumUserId, VerificationKeyScope keyScope) { var key = GetKey(guildId, userId, forumUserId, keyScope); return(key is null ? false : _verificationKeys.TryRemove(key)); }
public static string GetKeyString(ulong guildId, ulong userId, long forumUserId, VerificationKeyScope keyScope) => GetKey(guildId, userId, forumUserId, keyScope)?.Key;
public static VerificationKey GetKey(ulong guildId, ulong userId, long forumUserId, VerificationKeyScope keyScope) => _verificationKeys.FirstOrDefault(vk => vk.IsKeyFor(guildId, userId, forumUserId, keyScope));
public static VerificationKey GenerateVerificationKey(ulong guildid, ulong userid, long forumuserid, VerificationKeyScope keyscope) { var vkey = new VerificationKey(GenerateKey(), keyscope, forumuserid, userid, guildid); _verificationKeys.Add(vkey); return(vkey); }