Files
gott/Models/ApiKeyRecord.cs
T
Meleki de388806cb API-Keys: Source-URL, einheitliches Status-Schema, passive Usage-Erfassung, Usage-Bars
- SourceUrl-Feld in api_keys: GitHub-URL bei adoptierten Scan-Keys gespeichert
- HandleAdopt: Name = user/repo (aus URL extrahiert), SourceUrl = vollständige URL
- Status-Schema vereinheitlicht: überall 'valid' statt 'ok'/'usage_limited'
- AnthropicKeyChecker.ExtractMetaFromHeaders(): passive Header-Auswertung
- AnthropicService: TryUpdateKeyMeta() nach jedem Chat-Request (fire-and-forget)
- DatabaseService: UpdateApiKeyMetaByToken() für passive Updates per Token
- Frontend: formatKeyStatus() zentrale Status-Labels für API-Keys + Scanned-Keys
- Frontend: createUsageBadge() zweizeiliger Balken (Sitzung/Woche) mit Farbstufen
- CSS: Usage-Badge mit Track/Fill, warn (>=70%) und danger (>=90%) Klassen
2026-03-12 18:33:37 +01:00

20 lines
938 B
C#

namespace Gott.Models;
public class ApiKeyRecord
{
public long Id { get; set; }
public string KeyId { get; set; }
public string Provider { get; set; } // anthropic, gemini, openai, ...
public string Name { get; set; } // Anzeigename z.B. "Tausi Pro Key"
public string ApiKey { get; set; } // Der eigentliche Key
public bool IsActive { get; set; } // Nur einer pro Provider aktiv
public string Status { get; set; } // ok, invalid, rate_limited, quota_exceeded, error
public string Plan { get; set; } // Pro, Max, Pro/Max, API Console, Unknown
public double? Usage7d { get; set; }
public double? Usage5h { get; set; }
public string CheckedAt { get; set; } // Wann zuletzt geprüft
public string SourceUrl { get; set; } // GitHub-URL (bei adoptierten Scan-Keys)
public string CreatedAt { get; set; }
public string UpdatedAt { get; set; }
}