diff --git a/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs b/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs index 5d1b9984..2e937112 100644 --- a/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs +++ b/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs @@ -1,5 +1,6 @@ using EShopOnAbp.BasketService.Entities; using EShopOnAbp.BasketService.Localization; +using EShopOnAbp.CatalogService; using EShopOnAbp.CatalogService.Grpc; using EShopOnAbp.Shared.Hosting.AspNetCore; using EShopOnAbp.Shared.Hosting.Microservices; @@ -7,19 +8,32 @@ using Microsoft.AspNetCore.Cors; using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Options; using Volo.Abp; +using Volo.Abp.Application; +using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc.AntiForgery; +using Volo.Abp.Authorization; using Volo.Abp.AutoMapper; using Volo.Abp.Caching; +using Volo.Abp.Domain; using Volo.Abp.Http.Client; using Volo.Abp.Localization; using Volo.Abp.Localization.ExceptionHandling; using Volo.Abp.Modularity; +using Volo.Abp.Validation; using Volo.Abp.Validation.Localization; using Volo.Abp.VirtualFileSystem; namespace EShopOnAbp.BasketService { - [DependsOn( + [DependsOn(typeof(AbpAuthorizationModule), + typeof(AbpAspNetCoreMvcModule), + typeof(AbpAutoMapperModule), + typeof(AbpCachingModule), + typeof(AbpDddApplicationModule), + typeof(AbpDddDomainModule), + typeof(AbpValidationModule), + typeof(CatalogServiceHttpApiClientModule), + typeof(EShopOnAbpSharedHostingMicroservicesModule) )] public class BasketServiceModule : AbpModule { @@ -37,6 +51,8 @@ namespace EShopOnAbp.BasketService ConfigureLocalization(); ConfigureHttpApiProxy(context); ConfigureAuthentication(context, configuration); + ConfigureSwagger(context, configuration); + ConfigureAutoApiControllers(); } public override void OnApplicationInitialization(ApplicationInitializationContext context) @@ -70,11 +86,9 @@ namespace EShopOnAbp.BasketService app.UseUnitOfWork(); app.UseConfiguredEndpoints(); } - - private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + + private void ConfigureSwagger(ServiceConfigurationContext context, IConfiguration configuration) { - JwtBearerConfigurationHelper.Configure(context, "BasketService"); - SwaggerWithAuthConfigurationHelper.Configure( context: context, authority: configuration["AuthServer:Authority"], @@ -85,6 +99,11 @@ namespace EShopOnAbp.BasketService }, apiTitle: "Basket Service API" ); + } + + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + { + JwtBearerConfigurationHelper.Configure(context, "BasketService"); context.Services.AddCors(options => { @@ -108,10 +127,18 @@ namespace EShopOnAbp.BasketService Configure(options => { options.AutoValidate = false; }); } + private void ConfigureAutoApiControllers() + { + Configure(options => + { + options.ConventionalControllers.Create(typeof(BasketServiceModule).Assembly); + }); + } + private void ConfigureHttpApiProxy(ServiceConfigurationContext context) { context.Services.AddStaticHttpClientProxies( - typeof(BasketServiceApplicationContractsModule).Assembly, + typeof(BasketServiceModule).Assembly, RemoteServiceName ); } @@ -132,7 +159,7 @@ namespace EShopOnAbp.BasketService { Configure(options => { - options.AddMaps(); + options.AddMaps(); }); } diff --git a/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj b/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj index 23c87340..ff12543a 100644 --- a/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj +++ b/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj @@ -1,67 +1,47 @@ + + net6.0 enable enable - - + + + - - - - - - - - - - - + + + + - - - - - - - + + + - - - - - - - - - - + + - - + - - + - - + - - - + + - + - + diff --git a/services/basket/src/EShopOnAbp.BasketService/Program.cs b/services/basket/src/EShopOnAbp.BasketService/Program.cs index ec8e4f41..92622bd2 100644 --- a/services/basket/src/EShopOnAbp.BasketService/Program.cs +++ b/services/basket/src/EShopOnAbp.BasketService/Program.cs @@ -1,6 +1,34 @@ -var builder = WebApplication.CreateBuilder(args); -var app = builder.Build(); +using EShopOnAbp.Shared.Hosting.AspNetCore; +using Serilog; -app.MapGet("/", () => "Hello World!"); +namespace EShopOnAbp.BasketService; -app.Run(); \ No newline at end of file +public class Program +{ + public static async Task Main(string[] args) + { + var assemblyName = typeof(Program).Assembly.GetName().Name; + + SerilogConfigurationHelper.Configure(assemblyName); + + try + { + Log.Information($"Starting {assemblyName}."); + var app = await ApplicationBuilderHelper + .BuildApplicationAsync(args); + await app.InitializeApplicationAsync(); + await app.RunAsync(); + + return 0; + } + catch (Exception ex) + { + Log.Fatal(ex, $"{assemblyName} terminated unexpectedly!"); + return 1; + } + finally + { + Log.CloseAndFlush(); + } + } +} \ No newline at end of file