feat: exorcise entity framework core from most responders
This commit is contained in:
parent
33b78a7ac5
commit
5891f28f7c
32 changed files with 743 additions and 145 deletions
|
|
@ -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.Extensions;
|
||||
using Catalogger.Backend.Services;
|
||||
using Remora.Discord.API.Abstractions.Gateway.Events;
|
||||
|
|
@ -29,7 +30,7 @@ namespace Catalogger.Backend.Bot.Responders.Guilds;
|
|||
public class GuildCreateResponder(
|
||||
Config config,
|
||||
ILogger logger,
|
||||
DatabaseContext db,
|
||||
GuildRepository guildRepository,
|
||||
GuildCache guildCache,
|
||||
EmojiCache emojiCache,
|
||||
ChannelCache channelCache,
|
||||
|
|
@ -75,13 +76,9 @@ public class GuildCreateResponder(
|
|||
guildId = unavailableGuild.ID.ToUlong();
|
||||
}
|
||||
|
||||
var tx = await db.Database.BeginTransactionAsync(ct);
|
||||
if (await db.Guilds.FindAsync([guildId], ct) != null)
|
||||
if (await guildRepository.IsGuildKnown(guildId))
|
||||
return Result.Success;
|
||||
|
||||
db.Add(new Guild { Id = guildId });
|
||||
await db.SaveChangesAsync(ct);
|
||||
await tx.CommitAsync(ct);
|
||||
await guildRepository.AddGuildAsync(guildId);
|
||||
|
||||
_logger.Information("Joined new guild {GuildName} / {GuildId}", guildName, guildId);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue