From 63b8b8882cea90ea5e19744a8f834b2dcaaa60d0 Mon Sep 17 00:00:00 2001 From: tidusjar Date: Tue, 5 Nov 2019 21:18:25 +0000 Subject: [PATCH] Output some useful stuff to the about window regarding the databases --- .../ClientApp/app/interfaces/ISettings.ts | 7 ++++ .../app/settings/about/about.component.html | 38 +++++++++++++++++++ src/Ombi/Controllers/SettingsController.cs | 23 ++++++++--- src/Ombi/Extensions/DatabaseExtensions.cs | 25 ++++++------ src/Ombi/Models/AboutViewModel.cs | 7 ++++ 5 files changed, 82 insertions(+), 18 deletions(-) diff --git a/src/Ombi/ClientApp/app/interfaces/ISettings.ts b/src/Ombi/ClientApp/app/interfaces/ISettings.ts index d3dece200..4af153535 100644 --- a/src/Ombi/ClientApp/app/interfaces/ISettings.ts +++ b/src/Ombi/ClientApp/app/interfaces/ISettings.ts @@ -192,6 +192,13 @@ export interface IAbout { osDescription: string; processArchitecture: string; applicationBasePath: string; + ombiDatabaseType: string; + externalDatabaseType: string; + settingsDatabaseType: string; + ombiConnectionString: string; + externalConnectionString: string; + settingsConnectionString: string; + storagePath: string; } export interface ICouchPotatoSettings extends IExternalSettings { diff --git a/src/Ombi/ClientApp/app/settings/about/about.component.html b/src/Ombi/ClientApp/app/settings/about/about.component.html index fc1efde3f..79560a3c3 100644 --- a/src/Ombi/ClientApp/app/settings/about/about.component.html +++ b/src/Ombi/ClientApp/app/settings/about/about.component.html @@ -98,6 +98,44 @@ {{about.applicationBasePath}} + + + + Storage Path + + + {{about.storagePath}} + + + + + + Ombi Database + + + {{about.ombiDatabaseType}} - {{about.ombiConnectionString}} + + + + + + + External Database + + + {{about.externalDatabaseType}} - {{about.externalConnectionString}} + + + + + + + Settings Database + + + {{about.settingsDatabaseType}} - {{about.settingsConnectionString}} + + diff --git a/src/Ombi/Controllers/SettingsController.cs b/src/Ombi/Controllers/SettingsController.cs index 6033ae2ca..69dc08498 100644 --- a/src/Ombi/Controllers/SettingsController.cs +++ b/src/Ombi/Controllers/SettingsController.cs @@ -27,6 +27,7 @@ using Ombi.Store.Entities; using Ombi.Store.Repository; using Ombi.Api.Github; using Ombi.Core.Engine; +using Ombi.Extensions; using Ombi.Schedule; using Quartz; @@ -93,15 +94,25 @@ namespace Ombi.Controllers [HttpGet("about")] public AboutViewModel About() { + var dbConfiguration = DatabaseExtensions.GetDatabaseConfiguration(); + var storage = StoragePathSingleton.Instance; var model = new AboutViewModel { FrameworkDescription = RuntimeInformation.FrameworkDescription, OsArchitecture = RuntimeInformation.OSArchitecture.ToString(), OsDescription = RuntimeInformation.OSDescription, ProcessArchitecture = RuntimeInformation.ProcessArchitecture.ToString(), - ApplicationBasePath =Directory.GetCurrentDirectory() + ApplicationBasePath = Directory.GetCurrentDirectory(), + ExternalConnectionString = dbConfiguration.ExternalDatabase.ConnectionString, + ExternalDatabaseType = dbConfiguration.ExternalDatabase.Type, + OmbiConnectionString = dbConfiguration.OmbiDatabase.ConnectionString, + OmbiDatabaseType = dbConfiguration.OmbiDatabase.Type, + SettingsConnectionString = dbConfiguration.SettingsDatabase.ConnectionString, + SettingsDatabaseType = dbConfiguration.SettingsDatabase.Type, + StoragePath = storage.StoragePath.HasValue() ? storage.StoragePath : "None Specified" }; - + + var version = AssemblyHelper.GetRuntimeVersion(); var productArray = version.Split('-'); model.Version = productArray[0]; @@ -233,8 +244,8 @@ namespace Ombi.Controllers [AllowAnonymous] public async Task GetDefaultLanguage() { - var s = await Get(); - return s.DefaultLanguageCode; + var s = await Get(); + return s.DefaultLanguageCode; } /// @@ -431,7 +442,7 @@ namespace Ombi.Controllers [HttpGet("Update")] public async Task UpdateSettings() { - var settings = await Get(); + var settings = await Get(); return Mapper.Map(settings); } @@ -586,7 +597,7 @@ namespace Ombi.Controllers Message = $"CRON Expression {body.Expression} is not valid" }; } - + model.Success = true; return model; } diff --git a/src/Ombi/Extensions/DatabaseExtensions.cs b/src/Ombi/Extensions/DatabaseExtensions.cs index 82daafff9..2c6d13d06 100644 --- a/src/Ombi/Extensions/DatabaseExtensions.cs +++ b/src/Ombi/Extensions/DatabaseExtensions.cs @@ -19,14 +19,7 @@ namespace Ombi.Extensions public static void ConfigureDatabases(this IServiceCollection services) { - var i = StoragePathSingleton.Instance; - if (string.IsNullOrEmpty(i.StoragePath)) - { - i.StoragePath = string.Empty; - } - - var databaseFileLocation = Path.Combine(i.StoragePath, "database.json"); - var configuration = GetDatabaseConfiguration(databaseFileLocation, i.StoragePath); + var configuration = GetDatabaseConfiguration(); // Ombi db switch (configuration.OmbiDatabase.Type) @@ -60,9 +53,17 @@ namespace Ombi.Extensions } } - public static DatabaseConfiguration GetDatabaseConfiguration(string databaseFileLocation, string storagePath) + public static DatabaseConfiguration GetDatabaseConfiguration() { - var configuration = new DatabaseConfiguration(storagePath); + var i = StoragePathSingleton.Instance; + if (string.IsNullOrEmpty(i.StoragePath)) + { + i.StoragePath = string.Empty; + } + + var databaseFileLocation = Path.Combine(i.StoragePath, "database.json"); + + var configuration = new DatabaseConfiguration(i.StoragePath); if (File.Exists(databaseFileLocation)) { var databaseJson = File.ReadAllText(databaseFileLocation); @@ -94,7 +95,7 @@ namespace Ombi.Extensions { public DatabaseConfiguration() { - + } public DatabaseConfiguration(string defaultSqlitePath) @@ -119,7 +120,7 @@ namespace Ombi.Extensions // Used in Deserialization public PerDatabaseConfiguration() { - + } public string Type { get; set; } public string ConnectionString { get; set; } diff --git a/src/Ombi/Models/AboutViewModel.cs b/src/Ombi/Models/AboutViewModel.cs index 457cbd44d..93bac4d0c 100644 --- a/src/Ombi/Models/AboutViewModel.cs +++ b/src/Ombi/Models/AboutViewModel.cs @@ -9,5 +9,12 @@ public string OsDescription { get; set; } public string ProcessArchitecture { get; set; } public string ApplicationBasePath { get; set; } + public string OmbiDatabaseType { get; set; } + public string ExternalDatabaseType { get; set; } + public string SettingsDatabaseType { get; set; } + public string OmbiConnectionString { get; set; } + public string ExternalConnectionString { get; set; } + public string SettingsConnectionString { get; set; } + public string StoragePath { get; set; } } } \ No newline at end of file