using Catalogger.Backend.Database.Models; using Catalogger.Backend.Extensions; using Remora.Rest.Core; namespace Catalogger.Backend.Database.Queries; public static class QueryExtensions { public static async ValueTask GetGuildAsync(this DatabaseContext db, Snowflake id, CancellationToken ct = default) => await db.GetGuildAsync(id.ToUlong(), ct); public static async ValueTask GetGuildAsync(this DatabaseContext db, Optional id, CancellationToken ct = default) => await db.GetGuildAsync(id.ToUlong(), ct); public static async ValueTask GetGuildAsync(this DatabaseContext db, ulong id, CancellationToken ct = default) { var guild = await db.Guilds.FindAsync(id); if (guild == null) throw new CataloggerError("Guild not found, was not initialized during guild create"); return guild; } }