using System;
using Microsoft.EntityFrameworkCore;

namespace PolyTrader.Core.Configuration
{
    /// <summary>
    /// Datenbank-Konfiguration, gebunden an die "Database"-Sektion in appsettings.json.
    /// Ersetzt die frühere Hartcodierung von Connection-String und DB-Name.
    /// </summary>
    public class DatabaseOptions
    {
        public const string SectionName = "Database";

        /// <summary>MySQL-Connection-String (aus gitignorierter appsettings.Local.json).</summary>
        public string MySqlConnectionString { get; set; } = string.Empty;
    }

    /// <summary>
    /// Feste Ziel-Server-Version (MariaDB 11.8.6, wie am Server erkannt). Bewusst gepinnt statt
    /// <c>ServerVersion.AutoDetect</c>: AutoDetect öffnet beim Bau der DbContext-Optionen eine
    /// blockierende DB-Verbindung – ist die DB langsam/nicht erreichbar, hängt/crasht der Start,
    /// bevor die UI erscheint. Mit fester Version startet die App unabhängig von der DB.
    /// </summary>
    public static class DatabaseServerVersion
    {
        public static ServerVersion Value => new MariaDbServerVersion(new Version(11, 8, 6));
    }
}
