using EventsAppQuest.Web.Domain;

namespace EventsAppQuest.Web.Application
{
    /// <summary>
    /// Serviço simples de instalação (staging/teste).
    /// Wrapper estável sobre WebInstallController para facilitar chamadas por UI/futuro backend.
    /// </summary>
    public static class WebInstallService
    {
        public static bool IsInstalled() => WebInstallController.IsInstalled();
        public static WebInstallState GetState() => WebInstallController.GetState();
        public static WebInstallConfig GetConfig() => WebInstallController.GetConfig();

        public static (bool ok, string message) CheckRequirements() => WebInstallController.CheckRequirements();
        public static (bool ok, string message) ValidateDatabaseConnection(WebInstallConfig config) => WebInstallController.ValidateDatabaseConnection(config);

        public static void CompleteInstall(WebInstallConfig config, bool hasSeededDemoData, string notes = null)
            => WebInstallController.MarkInstalled(config, hasSeededDemoData, notes);

        public static void ResetInstallation() => WebInstallController.ResetInstallation();
    }
}

