feat: Scanned-Keys 'Alle prüfen' Button + EasyMDE Refresh nach More-Toggle
- POST /api/admin/api-keys/scanned/recheck-all: prüft alle nicht-adoptierten Scanned-Keys sequenziell - Button mit Loading-State, Ergebnis-Toast und Auto-Reload - EasyMDE/CodeMirror refresh() nach initMoreButton() Einblenden (behebt leeren Editor-Bug)
This commit is contained in:
1 parent
a13355d7e9
commit
7352438b11
5 files changed
+47
-1
No files matched your search
@@ -29,6 +29,7 @@ public static class ApiKeysEndpoint
|
||||
app.MapPost("/api/admin/api-keys/scan", HandleScanTrigger);
|
||||
app.MapGet("/api/admin/api-keys/scan/status", HandleScanStatus);
|
||||
app.MapGet("/api/admin/api-keys/scanned", HandleGetScanned);
|
||||
app.MapPost("/api/admin/api-keys/scanned/recheck-all", HandleRecheckAll);
|
||||
app.MapPost("/api/admin/api-keys/scanned/{id}/recheck", HandleRecheck);
|
||||
app.MapPost("/api/admin/api-keys/scanned/{id}/adopt", HandleAdopt);
|
||||
app.MapDelete("/api/admin/api-keys/scanned/{id}", HandleDeleteScanned);
|
||||
@@ -274,6 +275,27 @@ public static class ApiKeysEndpoint
|
||||
await ctx.Response.WriteAsJsonAsync(result);
|
||||
}
|
||||
|
||||
private static async Task HandleRecheckAll(HttpContext ctx, DatabaseService db, KeyScannerService scanner)
|
||||
{
|
||||
if (!ctx.IsAdmin()) { ctx.Response.StatusCode = 403; return; }
|
||||
|
||||
var keys = await db.GetScannedKeys();
|
||||
var notAdopted = keys.Where(k => k.AdoptedApiKeyId == null).ToList();
|
||||
|
||||
int success = 0, errors = 0;
|
||||
foreach (var sk in notAdopted)
|
||||
{
|
||||
try
|
||||
{
|
||||
await scanner.CheckAndUpdateKey(sk);
|
||||
success++;
|
||||
}
|
||||
catch { errors++; }
|
||||
}
|
||||
|
||||
await ctx.Response.WriteAsJsonAsync(new { ok = true, total = notAdopted.Count, success, errors });
|
||||
}
|
||||
|
||||
private static async Task HandleRecheck(HttpContext ctx, DatabaseService db, KeyScannerService scanner, string id)
|
||||
{
|
||||
if (!ctx.IsAdmin()) { ctx.Response.StatusCode = 403; return; }
|
||||
|
||||
Reference in new issue
Block a user