89 lines
2.7 KiB
C#
89 lines
2.7 KiB
C#
using KonSoft.Admin.EntityFrameworkCore;
|
|
using KonSoft.Shared.Hosting.AspNetCore;
|
|
using KonSoft.Shared.Hosting.Microservices;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
using Volo.Abp;
|
|
using Volo.Abp.AspNetCore.Mvc.Libs;
|
|
using Volo.Abp.BackgroundJobs;
|
|
using Volo.Abp.Modularity;
|
|
|
|
namespace KonSoft.Admin;
|
|
|
|
[DependsOn(
|
|
typeof(AdminHttpApiModule),
|
|
typeof(AdminApplicationModule),
|
|
typeof(AdminEntityFrameworkCoreModule),
|
|
typeof(KonSoftSharedHostingMicroservicesModule)
|
|
)]
|
|
public class AdminHttpApiHostModule : AbpModule
|
|
{
|
|
public override void ConfigureServices(ServiceConfigurationContext context)
|
|
{
|
|
var configuration = context.Services.GetConfiguration();
|
|
|
|
SwaggerConfigurationHelper.ConfigureWithOidc(
|
|
context,
|
|
configuration["AuthServer:Authority"]!,
|
|
["Admin", "Dispatch", "Payment", "Report", "TenantManagement"],
|
|
discoveryEndpoint: configuration["AuthServer:MetadataAddress"],
|
|
apiTitle: "Administration Service API"
|
|
);
|
|
|
|
// 只发送事件,不处理事件
|
|
Configure<AbpBackgroundJobOptions>(options => options.IsJobExecutionEnabled = false);
|
|
|
|
Configure<AbpMvcLibsOptions>(options =>
|
|
{
|
|
options.CheckLibs = false;
|
|
});
|
|
}
|
|
|
|
public override void OnApplicationInitialization(ApplicationInitializationContext context)
|
|
{
|
|
var app = context.GetApplicationBuilder();
|
|
var env = context.GetEnvironment();
|
|
|
|
if (env.IsDevelopment())
|
|
{
|
|
app.UseDeveloperExceptionPage();
|
|
}
|
|
|
|
app.UseAbpRequestLocalization();
|
|
app.UseCorrelationId();
|
|
app.UseStaticFiles();
|
|
app.UseRouting();
|
|
app.UseCors();
|
|
app.UseAuthentication();
|
|
|
|
if (KonSoftConsts.MultiTenancyEnabled)
|
|
{
|
|
app.UseMultiTenancy();
|
|
}
|
|
|
|
app.UseUnitOfWork();
|
|
app.UseDynamicClaims();
|
|
app.UseAuthorization();
|
|
|
|
app.UseSwagger();
|
|
app.UseAbpSwaggerUI(options =>
|
|
{
|
|
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Admin API");
|
|
|
|
var configuration = context.GetConfiguration();
|
|
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
|
|
options.OAuthScopes("Admin");
|
|
});
|
|
|
|
app.UseAuditing();
|
|
app.UseAbpSerilogEnrichers();
|
|
app.UseConfiguredEndpoints();
|
|
}
|
|
|
|
//public override async Task OnPostApplicationInitializationAsync(ApplicationInitializationContext context)
|
|
//{
|
|
// await context.ServiceProvider.GetRequiredService<AdminPendingEfCoreMigrationsChecker>()
|
|
// .CheckAndApplyDatabaseMigrationsAsync();
|
|
//}
|
|
} |