fix: ScannedKeyRecord.AdoptedApiKeyId als string (UUID), verwaiste Referenzen bei Key-Löschung bereinigen
This commit is contained in:
1 parent
dde0fede7d
commit
c5db6d0dbd
2 files changed
+9
-1
No files matched your search
@@ -15,5 +15,5 @@ public class ScannedKeyRecord
|
|||||||
public string ScannedAt { get; set; } // Wann gefunden
|
public string ScannedAt { get; set; } // Wann gefunden
|
||||||
public string CheckedAt { get; set; } // Wann zuletzt geprüft
|
public string CheckedAt { get; set; } // Wann zuletzt geprüft
|
||||||
public int Deleted { get; set; } // Soft-Delete (1 = gelöscht/ignoriert)
|
public int Deleted { get; set; } // Soft-Delete (1 = gelöscht/ignoriert)
|
||||||
public long? AdoptedApiKeyId { get; set; } // Verknüpfung zur api_keys.id (null = nicht übernommen)
|
public string AdoptedApiKeyId { get; set; } // Verknüpfung zur api_keys.key_id (null = nicht übernommen)
|
||||||
}
|
}
|
||||||
@@ -423,6 +423,14 @@ public partial class DatabaseService
|
|||||||
public async Task DeleteApiKey(string keyId)
|
public async Task DeleteApiKey(string keyId)
|
||||||
{
|
{
|
||||||
using var conn = CreateConnection();
|
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 });
|
await conn.ExecuteAsync("DELETE FROM api_keys WHERE key_id = @keyId", new { keyId });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user