Files
KonSoft.Clean/microservices/KonSoft.Report.HttpApi.Host/ReportHttpApiHostModule.cs
2025-10-12 15:40:33 +08:00

79 lines
2.3 KiB
C#

using KonSoft.Report.EntityFrameworkCore;
using KonSoft.Shared.Hosting.AspNetCore;
using KonSoft.Shared.Hosting.Microservices;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Volo.Abp;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.Modularity;
namespace KonSoft.Report;
[DependsOn(
typeof(ReportHttpApiModule),
typeof(ReportApplicationModule),
typeof(ReportEntityFrameworkCoreModule),
typeof(KonSoftSharedHostingMicroservicesModule)
)]
public class ReportHttpApiHostModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
SwaggerConfigurationHelper.ConfigureWithOidc(
context: context,
authority: configuration["AuthServer:Authority"]!,
scopes: ["ReportService"],
discoveryEndpoint: configuration["AuthServer:MetadataAddress"],
apiTitle: "Report Service API"
);
// 只发送事件,不处理事件
Configure<AbpBackgroundJobOptions>(options => options.IsJobExecutionEnabled = 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", "Report API");
var configuration = context.GetConfiguration();
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
options.OAuthScopes("Report");
});
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
}
}