using Microsoft.Extensions.DependencyInjection; using Microsoft.OpenApi.Models; using Company.Project.Shared; using ProductManagement; using ProductManagement.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.AspNetCore.MultiTenancy; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Autofac; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore.SqlServer; using Volo.Abp.EventBus.RabbitMq; using Volo.Abp.Modularity; using Volo.Abp.MultiTenancy; namespace Company.Project.ProductService; [DependsOn( typeof(AbpAutofacModule), typeof(AbpAspNetCoreMvcModule), typeof(AbpAspNetCoreMultiTenancyModule), typeof(AbpEntityFrameworkCoreSqlServerModule), typeof(AbpEventBusRabbitMqModule), typeof(ProductManagementApplicationModule), typeof(ProductManagementHttpApiModule), typeof(ProductManagementEntityFrameworkCoreModule) )] public class ProductServiceHostModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); Configure(options => { options.IsEnabled = ProjectConsts.IsMultiTenancyEnabled; }); context.Services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "Product Service API", Version = "v1" }); }); Configure(options => options.UseSqlServer()); } public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); app.UseRouting(); app.UseSwagger(); app.UseSwaggerUI(options => options.SwaggerEndpoint("/swagger/v1/swagger.json", "Product Service API")); app.UseConfiguredEndpoints(); } }