namespace ClawdDotNet.App.Services;

/// <summary>
/// Fest hinterlegte Lizenz-Eckdaten.
///
/// <para><b>Kein Public-Key mehr.</b> Die frühere Fassung führte einen
/// Ed25519-Public-Key als „Vertrauensanker". Im Deploymentcenter gibt es dazu keine
/// Gegenseite: Der Client liest ausschließlich das Feld <c>status</c> aus der Antwort,
/// eine Signaturprüfung findet nicht statt (siehe
/// <c>docs/Deploymentcenter-Anbindung-Review.md</c>, Abschnitt 2.1). Ein Schlüssel, der
/// nichts prüft, ist schlimmer als keiner — er lässt Schutz vermuten, wo keiner ist.
/// Wenn die Signatur zurückkommt, kommt das Feld mit ihr zurück.</para>
///
/// <para>Praktische Folge, die man kennen sollte: Wer die HTTP-Anfrage umlenken kann
/// (hosts-Datei, Proxy, eigener DNS), hat eine gültige Lizenz.</para>
/// </summary>
public static class LicenseInfo
{
    /// <summary>
    /// Projekt-Slug, wie er in <c>dc_projects</c> angelegt ist. Gilt für alle Module:
    /// Lizenz, Bugtracker, Fehler-Stream und Update-Prüfung greifen auf dieselbe
    /// Projekttabelle zu.
    ///
    /// <para>Hier stand bis zur Umstellung <c>clawd</c> — der Name aus dem
    /// LicenseLabrador-Backend. Im Deploymentcenter heißt das Projekt
    /// <c>clawddotnet</c>. Der Server beantwortet einen unbekannten Slug mit demselben
    /// <c>not_found</c> wie einen unbekannten Schlüssel, weshalb das wie ein falsch
    /// eingegebener Lizenzschlüssel aussah.</para>
    /// </summary>
    public const string ProductSlug = "clawddotnet";

    /// <summary>
    /// Rückfallwert für die Server-Adresse, falls in den Anwendungseinstellungen keine
    /// steht. Lizenz, Watchdog, Updates und Bugtracker sind Module derselben Anwendung
    /// und teilen sich diese Adresse.
    /// </summary>
    public const string DefaultServerUrl = "https://dc.mhdf.de";
}
