Add validation to rank options
This commit is contained in:
parent
66aaf027e2
commit
dbc776ddda
@ -1,8 +1,11 @@
|
|||||||
namespace Domain.Config;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Domain.Config;
|
||||||
|
|
||||||
public class RankConfig
|
public class RankConfig
|
||||||
{
|
{
|
||||||
public const string RANK_SECTION = "Rank";
|
public const string RANK_SECTION = "Rank";
|
||||||
|
|
||||||
|
[Required, Range(1, double.MaxValue, ErrorMessage = "Value for {0} must be greater than 0!")]
|
||||||
public int RefreshIntervalHours { get; set; } = 24;
|
public int RefreshIntervalHours { get; set; } = 24;
|
||||||
}
|
}
|
@ -52,8 +52,10 @@ try
|
|||||||
builder.Configuration.GetSection(GameConfig.GAME_SECTION));
|
builder.Configuration.GetSection(GameConfig.GAME_SECTION));
|
||||||
builder.Services.Configure<AuthConfig>(
|
builder.Services.Configure<AuthConfig>(
|
||||||
builder.Configuration.GetSection(AuthConfig.AUTH_SECTION));
|
builder.Configuration.GetSection(AuthConfig.AUTH_SECTION));
|
||||||
builder.Services.Configure<RankConfig>(
|
builder.Services.AddOptions<RankConfig>()
|
||||||
builder.Configuration.GetSection(RankConfig.RANK_SECTION));
|
.Bind(builder.Configuration.GetSection(RankConfig.RANK_SECTION))
|
||||||
|
.ValidateDataAnnotations()
|
||||||
|
.ValidateOnStart();
|
||||||
|
|
||||||
var serverIp = builder.Configuration["ServerIp"] ?? "127.0.0.1";
|
var serverIp = builder.Configuration["ServerIp"] ?? "127.0.0.1";
|
||||||
var certificateManager = new CertificateService(serverIp, new SerilogLoggerFactory(Log.Logger).CreateLogger(""));
|
var certificateManager = new CertificateService(serverIp, new SerilogLoggerFactory(Log.Logger).CreateLogger(""));
|
||||||
@ -82,6 +84,8 @@ try
|
|||||||
|
|
||||||
var refreshIntervalHours = builder.Configuration.GetSection(RankConfig.RANK_SECTION).
|
var refreshIntervalHours = builder.Configuration.GetSection(RankConfig.RANK_SECTION).
|
||||||
GetValue<int>("RefreshIntervalHours");
|
GetValue<int>("RefreshIntervalHours");
|
||||||
|
refreshIntervalHours.Throw().IfLessThanOrEqualTo(0);
|
||||||
|
Log.Information("Rank refresh interval: {RefreshIntervalHours} hours", refreshIntervalHours);
|
||||||
builder.Services.AddApplication(refreshIntervalHours);
|
builder.Services.AddApplication(refreshIntervalHours);
|
||||||
builder.Services.AddInfrastructure(builder.Configuration);
|
builder.Services.AddInfrastructure(builder.Configuration);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user