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 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;
|
||||
}
|
@ -52,8 +52,10 @@ try
|
||||
builder.Configuration.GetSection(GameConfig.GAME_SECTION));
|
||||
builder.Services.Configure<AuthConfig>(
|
||||
builder.Configuration.GetSection(AuthConfig.AUTH_SECTION));
|
||||
builder.Services.Configure<RankConfig>(
|
||||
builder.Configuration.GetSection(RankConfig.RANK_SECTION));
|
||||
builder.Services.AddOptions<RankConfig>()
|
||||
.Bind(builder.Configuration.GetSection(RankConfig.RANK_SECTION))
|
||||
.ValidateDataAnnotations()
|
||||
.ValidateOnStart();
|
||||
|
||||
var serverIp = builder.Configuration["ServerIp"] ?? "127.0.0.1";
|
||||
var certificateManager = new CertificateService(serverIp, new SerilogLoggerFactory(Log.Logger).CreateLogger(""));
|
||||
@ -82,6 +84,8 @@ try
|
||||
|
||||
var refreshIntervalHours = builder.Configuration.GetSection(RankConfig.RANK_SECTION).
|
||||
GetValue<int>("RefreshIntervalHours");
|
||||
refreshIntervalHours.Throw().IfLessThanOrEqualTo(0);
|
||||
Log.Information("Rank refresh interval: {RefreshIntervalHours} hours", refreshIntervalHours);
|
||||
builder.Services.AddApplication(refreshIntervalHours);
|
||||
builder.Services.AddInfrastructure(builder.Configuration);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user