fix: ScannedKeyRecord.AdoptedApiKeyId als string (UUID), verwaiste Referenzen bei Key-Löschung bereinigen

This commit is contained in:
Meleki committed 2026-03-13 13:00:05 +01:00
1 parent dde0fede7d
commit c5db6d0dbd
2 files changed
+9 -1

No files matched your search

+8
View File
@@ -423,6 +423,14 @@ public partial class DatabaseService
public async Task DeleteApiKey(string keyId)
{
using var conn = CreateConnection();
// Scanned-Keys die auf diesen API-Key verweisen zurücksetzen
await conn.ExecuteAsync(
"UPDATE scanned_keys SET adopted_api_key_id = NULL WHERE adopted_api_key_id = (SELECT id FROM api_keys WHERE key_id = @keyId)",
new { keyId });
// User die diesen Key ausgewählt haben zurücksetzen
await conn.ExecuteAsync(
"UPDATE users SET selected_api_key_id = NULL WHERE selected_api_key_id = @keyId",
new { keyId });
await conn.ExecuteAsync("DELETE FROM api_keys WHERE key_id = @keyId", new { keyId });
}