feat: implement validation of settings
All checks were successful
.NET Test Pipeline / build-and-test (pull_request) Successful in 1m33s
All checks were successful
.NET Test Pipeline / build-and-test (pull_request) Successful in 1m33s
This commit is contained in:
parent
08f13108d8
commit
35eb1eab39
@ -12,6 +12,7 @@ using Mirea.Api.Endpoint.Common.Interfaces;
|
||||
using Mirea.Api.Endpoint.Common.Services;
|
||||
using Mirea.Api.Endpoint.Configuration;
|
||||
using Mirea.Api.Endpoint.Configuration.General;
|
||||
using Mirea.Api.Endpoint.Configuration.General.Validators;
|
||||
using Mirea.Api.Endpoint.Configuration.Swagger;
|
||||
using Mirea.Api.Endpoint.Middleware;
|
||||
using Swashbuckle.AspNetCore.SwaggerGen;
|
||||
@ -100,8 +101,25 @@ public class Program
|
||||
Console.WriteLine($"{item.Key}:{item.Value}");
|
||||
#endif
|
||||
|
||||
var uber = app.Services.CreateScope().ServiceProvider.GetService<UberDbContext>();
|
||||
DbInitializer.Initialize(uber!);
|
||||
using (var scope = app.Services.CreateScope())
|
||||
{
|
||||
var serviceProvider = scope.ServiceProvider;
|
||||
|
||||
var optionsSnapshot = serviceProvider.GetRequiredService<IOptionsSnapshot<GeneralConfig>>();
|
||||
var settingsValidator = new SettingsRequiredValidator(optionsSnapshot);
|
||||
var isDoneConfig = settingsValidator.AreSettingsValid();
|
||||
|
||||
if (isDoneConfig)
|
||||
{
|
||||
var uberDbContext = serviceProvider.GetRequiredService<UberDbContext>();
|
||||
var maintenanceModeService = serviceProvider.GetRequiredService<IMaintenanceModeNotConfigureService>();
|
||||
|
||||
maintenanceModeService.DisableMaintenanceMode();
|
||||
DbInitializer.Initialize(uberDbContext);
|
||||
|
||||
// todo: if admin not found
|
||||
}
|
||||
}
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (app.Environment.IsDevelopment())
|
||||
|
Loading…
Reference in New Issue
Block a user