using Oqtane.Models;
using System.Threading.Tasks;
using Oqtane.Shared;
namespace Oqtane.Services
{
///
/// Service to manage (install master database / upgrade version / etc.) the installation
///
public interface IInstallationService
{
///
/// Returns a status/message object with the current installation state
///
///
Task IsInstalled();
///
/// Starts the installation process
///
/// connectionString, database type, alias etc.
/// internal status/message object
Task Install(InstallConfig config);
///
/// Starts the upgrade process
///
/// internal status/message object
Task Upgrade();
///
/// Restarts the installation
///
/// internal status/message object
Task RestartAsync();
///
/// Registers a new
///
/// Email of the user to be registered
///
Task RegisterAsync(string email);
}
}