diff --git a/Oqtane.Client/Installer/Installer.razor b/Oqtane.Client/Installer/Installer.razor index 968c582e..c90c3bc9 100644 --- a/Oqtane.Client/Installer/Installer.razor +++ b/Oqtane.Client/Installer/Installer.razor @@ -31,7 +31,14 @@ { foreach (var database in _databases) { - + if (database.IsDefault) + { + + } + else + { + + } } } diff --git a/Oqtane.Client/Modules/Admin/Sites/Add.razor b/Oqtane.Client/Modules/Admin/Sites/Add.razor index 832f1b33..b67013cd 100644 --- a/Oqtane.Client/Modules/Admin/Sites/Add.razor +++ b/Oqtane.Client/Modules/Admin/Sites/Add.razor @@ -130,7 +130,14 @@ else diff --git a/Oqtane.Server/Controllers/DatabaseController.cs b/Oqtane.Server/Controllers/DatabaseController.cs index d3993505..95f34824 100644 --- a/Oqtane.Server/Controllers/DatabaseController.cs +++ b/Oqtane.Server/Controllers/DatabaseController.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; +using Oqtane.Infrastructure; using Oqtane.Models; using Oqtane.Shared; @@ -10,17 +11,25 @@ namespace Oqtane.Controllers public class DatabaseController : Controller { private IOptions> _databaseOptions; + private IConfigManager _config; - public DatabaseController(IOptions> databaseOptions) + public DatabaseController(IOptions> databaseOptions, IConfigManager config) { _databaseOptions = databaseOptions; + _config = config; } // GET: api/ [HttpGet] - public IEnumerable Get() + public IEnumerable Get() { - return _databaseOptions.Value; + var databases = _databaseOptions.Value; + var master = _config.GetSetting(SettingKeys.DatabaseSection, SettingKeys.DatabaseTypeKey, ""); + if (master != "" && databases.Exists(item => item.DBType == master)) + { + databases.Find(item => item.DBType == master).IsDefault = true; + } + return databases; } } } diff --git a/Oqtane.Shared/Models/Database.cs b/Oqtane.Shared/Models/Database.cs index 334aaddb..b660ca50 100644 --- a/Oqtane.Shared/Models/Database.cs +++ b/Oqtane.Shared/Models/Database.cs @@ -19,5 +19,10 @@ namespace Oqtane.Models /// Type of DB using the full namespace, like `Oqtane.Database.SqlServer.SqlServerDatabase, Oqtane.Database.SqlServer` /// public string DBType { get; set; } + + /// + /// whether this item is the default database provider ( ie. specified by DefaultDBType in appsettings.json ) + /// + public bool IsDefault { get; set; } } }