add invite repository to replace ef core

This commit is contained in:
sam 2024-10-27 23:30:02 +01:00
parent 5891f28f7c
commit 64b4c26d93
Signed by: sam
GPG key ID: 5F3C3C1B3166639D
12 changed files with 112 additions and 301 deletions

View file

@ -32,7 +32,7 @@ namespace Catalogger.Backend.Bot.Responders.Invites;
public class InviteDeleteResponder(
ILogger logger,
GuildRepository guildRepository,
DatabaseContext db,
InviteRepository inviteRepository,
IInviteCache inviteCache,
WebhookExecutorService webhookExecutor,
IDiscordRestGuildAPI guildApi
@ -44,9 +44,7 @@ public class InviteDeleteResponder(
{
var guildId = evt.GuildID.Value;
var dbDeleteCount = await db
.Invites.Where(i => i.GuildId == guildId.Value && i.Code == evt.Code)
.ExecuteDeleteAsync(ct);
var dbDeleteCount = await inviteRepository.DeleteInviteAsync(guildId, evt.Code);
if (dbDeleteCount != 0)
_logger.Information(
"Deleted named invite {Invite} for guild {Guild}",

View file

@ -36,6 +36,7 @@ namespace Catalogger.Backend.Bot.Responders.Members;
public class GuildMemberAddResponder(
ILogger logger,
DatabaseContext db,
InviteRepository inviteRepository,
GuildRepository guildRepository,
IMemberCache memberCache,
IInviteCache inviteCache,
@ -128,11 +129,7 @@ public class GuildMemberAddResponder(
goto afterInvite;
}
var inviteName =
await db
.Invites.Where(i => i.Code == usedInvite.Code && i.GuildId == member.GuildID.Value)
.Select(i => i.Name)
.FirstOrDefaultAsync(ct) ?? "*(unnamed)*";
var inviteName = inviteRepository.GetInviteNameAsync(member.GuildID, usedInvite.Code);
var inviteDescription = $"""
**Code:** {usedInvite.Code}

View file

@ -29,7 +29,7 @@ public class MessageCreateResponder(
ILogger logger,
Config config,
GuildRepository guildRepository,
DapperMessageRepository messageRepository,
MessageRepository messageRepository,
UserCache userCache,
PkMessageHandler pkMessageHandler
) : IResponder<IMessageCreate>
@ -146,7 +146,7 @@ public partial class PkMessageHandler(ILogger logger, IServiceProvider services)
await using var scope = services.CreateAsyncScope();
await using var messageRepository =
scope.ServiceProvider.GetRequiredService<DapperMessageRepository>();
scope.ServiceProvider.GetRequiredService<MessageRepository>();
await Task.WhenAll(
messageRepository.SetProxiedMessageDataAsync(
@ -166,7 +166,7 @@ public partial class PkMessageHandler(ILogger logger, IServiceProvider services)
await using var scope = services.CreateAsyncScope();
await using var messageRepository =
scope.ServiceProvider.GetRequiredService<DapperMessageRepository>();
scope.ServiceProvider.GetRequiredService<MessageRepository>();
var pluralkitApi = scope.ServiceProvider.GetRequiredService<PluralkitApiService>();
var (isStored, hasProxyInfo) = await messageRepository.HasProxyInfoAsync(msgId);

View file

@ -32,7 +32,7 @@ namespace Catalogger.Backend.Bot.Responders.Messages;
public class MessageDeleteBulkResponder(
ILogger logger,
GuildRepository guildRepository,
DapperMessageRepository messageRepository,
MessageRepository messageRepository,
WebhookExecutorService webhookExecutor,
ChannelCache channelCache
) : IResponder<IMessageDeleteBulk>
@ -128,7 +128,7 @@ public class MessageDeleteBulkResponder(
return Result.Success;
}
private string RenderMessage(Snowflake messageId, DapperMessageRepository.Message? message)
private string RenderMessage(Snowflake messageId, MessageRepository.Message? message)
{
var timestamp = messageId.Timestamp.ToOffsetDateTime().ToString();

View file

@ -33,7 +33,7 @@ namespace Catalogger.Backend.Bot.Responders.Messages;
public class MessageDeleteResponder(
ILogger logger,
GuildRepository guildRepository,
DapperMessageRepository messageRepository,
MessageRepository messageRepository,
WebhookExecutorService webhookExecutor,
ChannelCache channelCache,
UserCache userCache,

View file

@ -35,7 +35,7 @@ public class MessageUpdateResponder(
DatabaseContext db,
ChannelCache channelCache,
UserCache userCache,
DapperMessageRepository messageRepository,
MessageRepository messageRepository,
WebhookExecutorService webhookExecutor,
PluralkitApiService pluralkitApi
) : IResponder<IMessageUpdate>