mirror of
https://github.com/Caraxi/mare.server.git
synced 2025-12-14 04:54:16 +01:00
- reload configs on change
- remove grpc config service replace with http - add messaging to channel
This commit is contained in:
parent
3490c5c8d8
commit
aa03d400d4
38 changed files with 304 additions and 377 deletions
|
|
@ -0,0 +1,61 @@
|
|||
using MareSynchronosShared.Utils;
|
||||
using MareSynchronosStaticFilesServer;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace MareSynchronosShared.Services;
|
||||
|
||||
[Route("configuration/[controller]")]
|
||||
[Authorize(Policy = "Internal")]
|
||||
public class MareConfigurationController<T> : Controller where T : class, IMareConfiguration
|
||||
{
|
||||
private readonly ILogger<MareConfigurationController<T>> _logger;
|
||||
private IOptionsMonitor<T> _config;
|
||||
|
||||
public MareConfigurationController(IOptionsMonitor<T> config, ILogger<MareConfigurationController<T>> logger)
|
||||
{
|
||||
_config = config;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
[HttpGet("GetConfigurationEntry")]
|
||||
[Authorize(Policy = "Internal")]
|
||||
public IActionResult GetConfigurationEntry(string key, string defaultValue)
|
||||
{
|
||||
var result = _config.CurrentValue.SerializeValue(key, defaultValue);
|
||||
_logger.LogInformation("Requested " + key + ", returning:" + result);
|
||||
return Ok(result);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning disable MA0048 // File name must match type name
|
||||
public class MareStaticFilesServerConfigurationController : MareConfigurationController<StaticFilesServerConfiguration>
|
||||
{
|
||||
public MareStaticFilesServerConfigurationController(IOptionsMonitor<StaticFilesServerConfiguration> config, ILogger<MareStaticFilesServerConfigurationController> logger) : base(config, logger)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class MareAuthBaseConfigurationController : MareConfigurationController<MareConfigurationAuthBase>
|
||||
{
|
||||
public MareAuthBaseConfigurationController(IOptionsMonitor<MareConfigurationAuthBase> config, ILogger<MareAuthBaseConfigurationController> logger) : base(config, logger)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class MareServerConfigurationController : MareConfigurationController<ServerConfiguration>
|
||||
{
|
||||
public MareServerConfigurationController(IOptionsMonitor<ServerConfiguration> config, ILogger<MareServerConfigurationController> logger) : base(config, logger)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class MareServicesConfigurationController : MareConfigurationController<ServicesConfiguration>
|
||||
{
|
||||
public MareServicesConfigurationController(IOptionsMonitor<ServicesConfiguration> config, ILogger<MareServicesConfigurationController> logger) : base(config, logger)
|
||||
{
|
||||
}
|
||||
}
|
||||
#pragma warning restore MA0048 // File name must match type name
|
||||
Loading…
Add table
Add a link
Reference in a new issue