feat: exorcise entity framework core from most responders

This commit is contained in:
sam 2024-10-27 23:02:42 +01:00
parent 33b78a7ac5
commit 5891f28f7c
Signed by: sam
GPG key ID: 5F3C3C1B3166639D
32 changed files with 743 additions and 145 deletions

View file

@ -16,6 +16,7 @@
using Catalogger.Backend.Cache;
using Catalogger.Backend.Cache.InMemoryCache;
using Catalogger.Backend.Database;
using Catalogger.Backend.Database.Dapper.Repositories;
using Catalogger.Backend.Database.Queries;
using Catalogger.Backend.Extensions;
using Catalogger.Backend.Services;
@ -35,6 +36,7 @@ namespace Catalogger.Backend.Bot.Responders.Members;
public class GuildMemberAddResponder(
ILogger logger,
DatabaseContext db,
GuildRepository guildRepository,
IMemberCache memberCache,
IInviteCache inviteCache,
UserCache userCache,
@ -62,7 +64,7 @@ public class GuildMemberAddResponder(
.WithCurrentTimestamp()
.WithFooter($"ID: {user.ID}");
var guildConfig = await db.GetGuildAsync(member.GuildID, false, ct);
var guildConfig = await guildRepository.GetAsync(member.GuildID);
var guildRes = await guildApi.GetGuildAsync(member.GuildID, withCounts: true, ct);
if (guildRes.IsSuccess && guildRes.Entity.ApproximateMemberCount.IsDefined())
builder.Description +=

View file

@ -15,8 +15,7 @@
using Catalogger.Backend.Cache;
using Catalogger.Backend.Cache.InMemoryCache;
using Catalogger.Backend.Database;
using Catalogger.Backend.Database.Queries;
using Catalogger.Backend.Database.Dapper.Repositories;
using Catalogger.Backend.Extensions;
using Catalogger.Backend.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
@ -28,7 +27,7 @@ namespace Catalogger.Backend.Bot.Responders.Members;
public class GuildMemberRemoveResponder(
ILogger logger,
DatabaseContext db,
GuildRepository guildRepository,
IMemberCache memberCache,
RoleCache roleCache,
UserCache userCache,
@ -50,7 +49,7 @@ public class GuildMemberRemoveResponder(
.WithFooter($"ID: {evt.User.ID}")
.WithCurrentTimestamp();
var guildConfig = await db.GetGuildAsync(evt.GuildID, false, ct);
var guildConfig = await guildRepository.GetAsync(evt.GuildID);
var member = await memberCache.TryGetAsync(evt.GuildID, evt.User.ID);
if (member == null)

View file

@ -16,6 +16,7 @@
using Catalogger.Backend.Cache;
using Catalogger.Backend.Cache.InMemoryCache;
using Catalogger.Backend.Database;
using Catalogger.Backend.Database.Dapper.Repositories;
using Catalogger.Backend.Database.Queries;
using Catalogger.Backend.Extensions;
using Catalogger.Backend.Services;
@ -30,7 +31,7 @@ namespace Catalogger.Backend.Bot.Responders.Members;
public class GuildMemberUpdateResponder(
ILogger logger,
DatabaseContext db,
GuildRepository guildRepository,
UserCache userCache,
RoleCache roleCache,
IMemberCache memberCache,
@ -145,7 +146,7 @@ public class GuildMemberUpdateResponder(
.GetOrThrow();
}
var guildConfig = await db.GetGuildAsync(newMember.GuildID, false, ct);
var guildConfig = await guildRepository.GetAsync(newMember.GuildID);
webhookExecutor.QueueLog(guildConfig, LogChannelType.GuildMemberAvatarUpdate, embed);
return Result.Success;
}
@ -204,7 +205,7 @@ public class GuildMemberUpdateResponder(
);
}
var guildConfig = await db.GetGuildAsync(newMember.GuildID, false, ct);
var guildConfig = await guildRepository.GetAsync(newMember.GuildID);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.GuildMemberNickUpdate,
@ -253,7 +254,7 @@ public class GuildMemberUpdateResponder(
embed.AddField("Reason", "*(unknown)*");
}
var guildConfig = await db.GetGuildAsync(member.GuildID, false, ct);
var guildConfig = await guildRepository.GetAsync(member.GuildID);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.GuildMemberTimeout,
@ -268,7 +269,7 @@ public class GuildMemberUpdateResponder(
CancellationToken ct = default
)
{
var guildConfig = await db.GetGuildAsync(member.GuildID, false, ct);
var guildConfig = await guildRepository.GetAsync(member.GuildID);
var guildRoles = roleCache.GuildRoles(member.GuildID).ToList();
var keyRoleUpdate = new EmbedBuilder()