Settings return with default values (via reflection)

This commit is contained in:
Mark McDowall 2013-03-03 17:07:22 -08:00
parent 3430ad3ee8
commit 62c1be1634
5 changed files with 19 additions and 10 deletions

View File

@ -25,7 +25,7 @@ namespace NzbDrone.Api.Settings
if(collection.HasValue && Boolean.Parse(collection.Value))
return _configService.All().AsResponse();
return _configService.All().ToDictionary(c => c.Key, c => c.Value).AsResponse();
return _configService.AllWithDefaults().AsResponse();
}
}
}

View File

@ -1,4 +1,3 @@
<div>
Naming settings will go here
{{uGuid}}
</div>

View File

@ -14,7 +14,6 @@ define([
initialize: function (options) {
this.model = options.model;
var test = 1;
},
onRender: function () {

View File

@ -15,7 +15,6 @@ namespace NzbDrone.Core.Configuration
private readonly Logger _logger;
private static Dictionary<string, string> _cache;
public ConfigService(IConfigRepository repository, Logger logger)
{
_repository = repository;
@ -23,12 +22,28 @@ namespace NzbDrone.Core.Configuration
_cache = new Dictionary<string, string>();
}
public IEnumerable<Config> All()
{
return _repository.All();
}
public Dictionary<String, Object> AllWithDefaults()
{
var dict = new Dictionary<String, Object>();
var type = GetType();
var properties = type.GetProperties();
foreach(var propertyInfo in properties)
{
var value = propertyInfo.GetValue(this, null);
dict.Add(propertyInfo.Name, value);
}
return dict;
}
public virtual String NzbsOrgUId
{
get { return GetValue("NzbsOrgUId"); }
@ -202,7 +217,6 @@ namespace NzbDrone.Core.Configuration
set { SetValue("DefaultQualityProfile", value); }
}
public virtual Boolean XbmcUpdateLibrary
{
get { return GetValueBoolean("XbmcUpdateLibrary"); }
@ -248,7 +262,6 @@ namespace NzbDrone.Core.Configuration
set { SetValue("UpdateUrl", value); }
}
public virtual string SmtpServer
{
get { return GetValue("SmtpServer", String.Empty); }
@ -292,7 +305,6 @@ namespace NzbDrone.Core.Configuration
set { SetValue("SmtpToAddresses", value); }
}
public virtual string TwitterAccessToken
{
get { return GetValue("TwitterAccessToken", String.Empty); }
@ -305,7 +317,6 @@ namespace NzbDrone.Core.Configuration
set { SetValue("TwitterAccessTokenSecret", value); }
}
public virtual string GrowlHost
{
get { return GetValue("GrowlHost", "localhost:23053"); }
@ -318,7 +329,6 @@ namespace NzbDrone.Core.Configuration
set { SetValue("GrowlPassword", value); }
}
public virtual string ProwlApiKeys
{
get { return GetValue("ProwlApiKeys", String.Empty); }

View File

@ -9,6 +9,7 @@ namespace NzbDrone.Core.Configuration
public interface IConfigService
{
IEnumerable<Config> All();
Dictionary<String, Object> AllWithDefaults();
String NzbsOrgUId { get; set; }
String NzbsOrgHash { get; set; }
String NzbsrusUId { get; set; }