don't track EFCore objects that don't need to be updated

This commit is contained in:
sam 2024-10-25 16:04:01 +02:00
parent d42e73699b
commit f7f88ff98f
Signed by: sam
GPG key ID: 5F3C3C1B3166639D
24 changed files with 50 additions and 33 deletions

View file

@ -227,7 +227,7 @@ public class MetaCommands(
try
{
var query = HttpUtility.UrlEncode("delta(catalogger_received_messages[5m])");
var query = HttpUtility.UrlEncode("increase(catalogger_received_messages[5m])");
var resp = await _client.GetAsync($"http://localhost:9090/api/v1/query?query={query}");
resp.EnsureSuccessStatusCode();

View file

@ -96,7 +96,7 @@ public class ChannelCreateResponder(
}
}
var guildConfig = await db.GetGuildAsync(ch.GuildID.Value, ct);
var guildConfig = await db.GetGuildAsync(ch.GuildID.Value, false, ct);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.ChannelCreate,

View file

@ -49,7 +49,7 @@ public class ChannelDeleteResponder(
return Result.Success;
}
var guildConfig = await db.GetGuildAsync(evt.GuildID.Value, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID.Value, false, ct);
var embed = new EmbedBuilder()
.WithTitle("Channel deleted")
.WithColour(DiscordUtils.Red)

View file

@ -49,7 +49,7 @@ public class ChannelUpdateResponder(
return Result.Success;
}
var guildConfig = await db.GetGuildAsync(evt.GuildID.Value, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID.Value, false, ct);
var builder = new EmbedBuilder()
.WithTitle(

View file

@ -38,7 +38,7 @@ public class GuildBanAddResponder(
public async Task<Result> RespondAsync(IGuildBanAdd evt, CancellationToken ct = default)
{
var guildConfig = await db.GetGuildAsync(evt.GuildID, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID, true, ct);
// Delay 2 seconds for the audit log
await Task.Delay(2000, ct);

View file

@ -38,7 +38,7 @@ public class GuildBanRemoveResponder(
public async Task<Result> RespondAsync(IGuildBanRemove evt, CancellationToken ct = default)
{
var guildConfig = await db.GetGuildAsync(evt.GuildID, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID, false, ct);
// Delay 2 seconds for the audit log
await Task.Delay(2000, ct);

View file

@ -111,7 +111,7 @@ public class GuildEmojisUpdateResponder(
return Result.Success;
}
var guildConfig = await db.GetGuildAsync(evt.GuildID, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID, false, ct);
webhookExecutor.QueueLog(guildConfig, LogChannelType.GuildEmojisUpdate, embed);
return Result.Success;
}

View file

@ -97,7 +97,7 @@ public class GuildUpdateResponder(
if (embed.Fields.Count != 0)
{
var guildConfig = await db.GetGuildAsync(evt.ID, ct);
var guildConfig = await db.GetGuildAsync(evt.ID, false, ct);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.GuildUpdate,

View file

@ -74,7 +74,7 @@ public class InviteCreateResponder(
inline: true
);
var guildConfig = await db.GetGuildAsync(guildId, ct);
var guildConfig = await db.GetGuildAsync(guildId, false, ct);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.InviteCreate,

View file

@ -89,7 +89,7 @@ public class InviteDeleteResponder(
inline: true
);
var guildConfig = await db.GetGuildAsync(guildId, ct);
var guildConfig = await db.GetGuildAsync(guildId, false, ct);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.InviteDelete,

View file

@ -62,7 +62,7 @@ public class GuildMemberAddResponder(
.WithCurrentTimestamp()
.WithFooter($"ID: {user.ID}");
var guildConfig = await db.GetGuildAsync(member.GuildID, ct);
var guildConfig = await db.GetGuildAsync(member.GuildID, false, ct);
var guildRes = await guildApi.GetGuildAsync(member.GuildID, withCounts: true, ct);
if (guildRes.IsSuccess && guildRes.Entity.ApproximateMemberCount.IsDefined())
builder.Description +=

View file

@ -50,7 +50,7 @@ public class GuildMemberRemoveResponder(
.WithFooter($"ID: {evt.User.ID}")
.WithCurrentTimestamp();
var guildConfig = await db.GetGuildAsync(evt.GuildID, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID, false, ct);
var member = await memberCache.TryGetAsync(evt.GuildID, evt.User.ID);
if (member == null)

View file

@ -145,7 +145,7 @@ public class GuildMemberUpdateResponder(
.GetOrThrow();
}
var guildConfig = await db.GetGuildAsync(newMember.GuildID, ct);
var guildConfig = await db.GetGuildAsync(newMember.GuildID, false, ct);
webhookExecutor.QueueLog(guildConfig, LogChannelType.GuildMemberAvatarUpdate, embed);
return Result.Success;
}
@ -204,7 +204,7 @@ public class GuildMemberUpdateResponder(
);
}
var guildConfig = await db.GetGuildAsync(newMember.GuildID, ct);
var guildConfig = await db.GetGuildAsync(newMember.GuildID, false, ct);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.GuildMemberNickUpdate,
@ -253,7 +253,7 @@ public class GuildMemberUpdateResponder(
embed.AddField("Reason", "*(unknown)*");
}
var guildConfig = await db.GetGuildAsync(member.GuildID, ct);
var guildConfig = await db.GetGuildAsync(member.GuildID, false, ct);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.GuildMemberTimeout,
@ -268,7 +268,7 @@ public class GuildMemberUpdateResponder(
CancellationToken ct = default
)
{
var guildConfig = await db.GetGuildAsync(member.GuildID, ct);
var guildConfig = await db.GetGuildAsync(member.GuildID, false, ct);
var guildRoles = roleCache.GuildRoles(member.GuildID).ToList();
var keyRoleUpdate = new EmbedBuilder()

View file

@ -52,7 +52,7 @@ public class MessageCreateResponder(
return Result.Success;
}
var guild = await db.GetGuildAsync(msg.GuildID, ct);
var guild = await db.GetGuildAsync(msg.GuildID, false, ct);
// The guild needs to have enabled at least one of the message logging events,
// and the channel must not be ignored, to store the message.
if (guild.IsMessageIgnored(msg.ChannelID, msg.Author.ID))

View file

@ -42,7 +42,7 @@ public class MessageDeleteBulkResponder(
public async Task<Result> RespondAsync(IMessageDeleteBulk evt, CancellationToken ct = default)
{
var guild = await db.GetGuildAsync(evt.GuildID, ct);
var guild = await db.GetGuildAsync(evt.GuildID, false, ct);
if (guild.IsMessageIgnored(evt.ChannelID, null))
return Result.Success;

View file

@ -64,7 +64,7 @@ public class MessageDeleteResponder(
if (await messageRepository.IsMessageIgnoredAsync(evt.ID.Value, ct))
return Result.Success;
var guild = await db.GetGuildAsync(evt.GuildID, ct);
var guild = await db.GetGuildAsync(evt.GuildID, false, ct);
if (guild.IsMessageIgnored(evt.ChannelID, evt.ID))
return Result.Success;

View file

@ -56,7 +56,7 @@ public class MessageUpdateResponder(
return Result.Success;
}
var guildConfig = await db.GetGuildAsync(msg.GuildID.Value, ct);
var guildConfig = await db.GetGuildAsync(msg.GuildID.Value, false, ct);
if (await messageRepository.IsMessageIgnoredAsync(msg.ID.Value, ct))
{

View file

@ -39,7 +39,7 @@ public class RoleCreateResponder(
_logger.Debug("Received new role {RoleId} in guild {GuildId}", evt.Role.ID, evt.GuildID);
roleCache.Set(evt.Role, evt.GuildID);
var guildConfig = await db.GetGuildAsync(evt.GuildID, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID, false, ct);
var embed = new EmbedBuilder()
.WithTitle("Role created")

View file

@ -47,7 +47,7 @@ public class RoleDeleteResponder(
return Result.Success;
}
var guildConfig = await db.GetGuildAsync(evt.GuildID, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID, false, ct);
var embed = new EmbedBuilder()
.WithTitle($"Role \"{role.Name}\" deleted")

View file

@ -95,7 +95,7 @@ public class RoleUpdateResponder(
if (embed.Fields.Count == 0)
return Result.Success;
var guildConfig = await db.GetGuildAsync(evt.GuildID, ct);
var guildConfig = await db.GetGuildAsync(evt.GuildID, false, ct);
webhookExecutor.QueueLog(
guildConfig,
LogChannelType.GuildRoleUpdate,