diff --git a/Catalogger.Backend/Database/DatabaseMigrator.cs b/Catalogger.Backend/Database/DatabaseMigrator.cs index 76a0dbc..98cc00a 100644 --- a/Catalogger.Backend/Database/DatabaseMigrator.cs +++ b/Catalogger.Backend/Database/DatabaseMigrator.cs @@ -65,9 +65,11 @@ public class DatabaseMigrator(ILogger logger, IClock clock, DatabaseConnection c await tx.CommitAsync(); } - private async Task ExecuteMigration(DbTransaction tx, string migrationName) + private async Task ExecuteMigration(DbTransaction tx, string migrationName, bool up = true) { - var query = await GetResource($"{RootPath}.Migrations.{migrationName}.up.sql"); + var query = await GetResource( + $"{RootPath}.Migrations.{migrationName}.{(up ? "up" : "down")}.sql" + ); // Run the migration await conn.ExecuteAsync(query, transaction: tx); diff --git a/Catalogger.Backend/Database/Repositories/GuildRepository.cs b/Catalogger.Backend/Database/Repositories/GuildRepository.cs index de62b1d..74a4462 100644 --- a/Catalogger.Backend/Database/Repositories/GuildRepository.cs +++ b/Catalogger.Backend/Database/Repositories/GuildRepository.cs @@ -51,7 +51,7 @@ public class GuildRepository(ILogger logger, DatabaseConnection conn) public async Task AddGuildAsync(ulong id) => await conn.ExecuteAsync( """ - insert into guilds (id, key_roles, banned_systems, key_roles, channels) + insert into guilds (id, key_roles, banned_systems, channels) values (@Id, array[]::bigint[], array[]::text[], array[]::bigint[], @Channels) on conflict do nothing """, diff --git a/Catalogger.Backend/Services/PluralkitApiService.cs b/Catalogger.Backend/Services/PluralkitApiService.cs index 5dd0f0b..113374d 100644 --- a/Catalogger.Backend/Services/PluralkitApiService.cs +++ b/Catalogger.Backend/Services/PluralkitApiService.cs @@ -15,6 +15,7 @@ using System.Net; using System.Text.Json; +using System.Text.Json.Serialization; using System.Threading.RateLimiting; using Humanizer; using NodaTime; @@ -34,6 +35,7 @@ public class PluralkitApiService(ILogger logger) private readonly JsonSerializerOptions _jsonOptions = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower, + NumberHandling = JsonNumberHandling.AllowReadingFromString, }.ConfigureForNodaTime( new NodaJsonSettings {