* rework server responsibilities add remote configuration * start metrics only when compiled as not debug * add some more logging to discord bot * fixes of some casts * make metrics port configurable, minor fixes * add docker bullshit * md formatting * adjustments to docker stuff * fix docker json files, fix some stuff in discord bot, add /useradd for Discord bot * adjust docker configs and fix sharded.bat * fixes for logs, cache file provider repeat trying to open filestream Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
38 lines
1.0 KiB
C#
38 lines
1.0 KiB
C#
using MareSynchronosShared.Utils;
|
|
using Microsoft.Extensions.Options;
|
|
using System.Text;
|
|
|
|
namespace MareSynchronosShared.Services;
|
|
|
|
public class MareConfigurationServiceServer<T> : IConfigurationService<T> where T : class, IMareConfiguration
|
|
{
|
|
private readonly T _config;
|
|
public bool IsMain => true;
|
|
|
|
public MareConfigurationServiceServer(IOptions<T> config)
|
|
{
|
|
_config = config.Value;
|
|
}
|
|
|
|
public T1 GetValueOrDefault<T1>(string key, T1 defaultValue)
|
|
{
|
|
return _config.GetValueOrDefault<T1>(key, defaultValue);
|
|
}
|
|
|
|
public T1 GetValue<T1>(string key)
|
|
{
|
|
return _config.GetValue<T1>(key);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
var props = _config.GetType().GetProperties();
|
|
StringBuilder sb = new();
|
|
foreach (var prop in props)
|
|
{
|
|
sb.AppendLine($"{prop.Name} (IsRemote: {prop.GetCustomAttributes(typeof(RemoteConfigurationAttribute), true).Any()}) => {prop.GetValue(_config)}");
|
|
}
|
|
return sb.ToString();
|
|
}
|
|
}
|