From fe8c0f444d3eeb750c424bf0261cbf4d304f2327 Mon Sep 17 00:00:00 2001 From: Pc Date: Sat, 11 Mar 2023 19:45:02 +0330 Subject: [PATCH] refactor: refactor persist message processor --- .../PersistMessageProcessor/Extensions.cs | 37 ++++--------------- .../InfrastructureExtensions.cs | 2 +- .../InfrastructureExtensions.cs | 2 + .../InfrastructureExtensions.cs | 2 + .../InfrastructureExtensions.cs | 3 ++ 5 files changed, 15 insertions(+), 31 deletions(-) diff --git a/src/BuildingBlocks/PersistMessageProcessor/Extensions.cs b/src/BuildingBlocks/PersistMessageProcessor/Extensions.cs index 444a0ca..bfa6eb3 100644 --- a/src/BuildingBlocks/PersistMessageProcessor/Extensions.cs +++ b/src/BuildingBlocks/PersistMessageProcessor/Extensions.cs @@ -5,10 +5,8 @@ using Microsoft.Extensions.DependencyInjection; namespace BuildingBlocks.PersistMessageProcessor; -using EFCore; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Hosting; public static class Extensions { @@ -39,38 +37,17 @@ public static class Extensions return services; } - public static IApplicationBuilder UseMigration(this IApplicationBuilder app, IWebHostEnvironment env) + public static IApplicationBuilder UseMigrationPersistMessage(this IApplicationBuilder app, IWebHostEnvironment env) where TContext : DbContext, IPersistMessageDbContext { - MigrateDatabaseAsync(app.ApplicationServices).GetAwaiter().GetResult(); + using var scope = app.ApplicationServices.CreateScope(); - if (!env.IsEnvironment("test")) - { - SeedDataAsync(app.ApplicationServices).GetAwaiter().GetResult(); - } + var persistMessageContext = scope.ServiceProvider.GetRequiredService(); + persistMessageContext.Database.Migrate(); + + var context = scope.ServiceProvider.GetRequiredService(); + context.Database.Migrate(); return app; } - - private static async Task MigrateDatabaseAsync(IServiceProvider serviceProvider) - where TContext : DbContext, IPersistMessageDbContext - { - using var scope = serviceProvider.CreateScope(); - - var persistMessageContext = scope.ServiceProvider.GetRequiredService(); - await persistMessageContext.Database.MigrateAsync(); - - var context = scope.ServiceProvider.GetRequiredService(); - await context.Database.MigrateAsync(); - } - - private static async Task SeedDataAsync(IServiceProvider serviceProvider) - { - using var scope = serviceProvider.CreateScope(); - var seeders = scope.ServiceProvider.GetServices(); - foreach (var seeder in seeders) - { - await seeder.SeedAllAsync(); - } - } } diff --git a/src/Services/Booking/src/Booking/Extensions/Infrastructure/InfrastructureExtensions.cs b/src/Services/Booking/src/Booking/Extensions/Infrastructure/InfrastructureExtensions.cs index f3bee2a..471f1cc 100644 --- a/src/Services/Booking/src/Booking/Extensions/Infrastructure/InfrastructureExtensions.cs +++ b/src/Services/Booking/src/Booking/Extensions/Infrastructure/InfrastructureExtensions.cs @@ -100,7 +100,7 @@ public static class InfrastructureExtensions }); app.UseCorrelationId(); app.UseHttpMetrics(); - app.UseMigration(env); + app.UseMigrationPersistMessage(env); app.UseCustomHealthCheck(); app.MapMetrics(); app.MapGet("/", x => x.Response.WriteAsync(appOptions.Name)); diff --git a/src/Services/Flight/src/Flight/Extensions/Infrastructure/InfrastructureExtensions.cs b/src/Services/Flight/src/Flight/Extensions/Infrastructure/InfrastructureExtensions.cs index 588476b..e0bada3 100644 --- a/src/Services/Flight/src/Flight/Extensions/Infrastructure/InfrastructureExtensions.cs +++ b/src/Services/Flight/src/Flight/Extensions/Infrastructure/InfrastructureExtensions.cs @@ -30,6 +30,7 @@ using Serilog; namespace Flight.Extensions.Infrastructure; +using BuildingBlocks.PersistMessageProcessor.Data; using Microsoft.AspNetCore.HttpOverrides; public static class InfrastructureExtensions @@ -105,6 +106,7 @@ public static class InfrastructureExtensions }); app.UseCorrelationId(); app.UseHttpMetrics(); + app.UseMigrationPersistMessage(env); app.UseMigration(env); app.MapMetrics(); app.UseCustomHealthCheck(); diff --git a/src/Services/Identity/src/Identity/Extensions/Infrastructure/InfrastructureExtensions.cs b/src/Services/Identity/src/Identity/Extensions/Infrastructure/InfrastructureExtensions.cs index 85c2e6b..ca65770 100644 --- a/src/Services/Identity/src/Identity/Extensions/Infrastructure/InfrastructureExtensions.cs +++ b/src/Services/Identity/src/Identity/Extensions/Infrastructure/InfrastructureExtensions.cs @@ -26,6 +26,7 @@ using Serilog; namespace Identity.Extensions.Infrastructure; +using BuildingBlocks.PersistMessageProcessor.Data; using Configurations; using Microsoft.AspNetCore.HttpOverrides; @@ -101,6 +102,7 @@ public static class InfrastructureExtensions { options.EnrichDiagnosticContext = LogEnrichHelper.EnrichFromRequest; }); + app.UseMigrationPersistMessage(env); app.UseMigration(env); app.UseCorrelationId(); app.UseHttpMetrics(); diff --git a/src/Services/Passenger/src/Passenger/Extensions/Infrastructure/InfrastructureExtensions.cs b/src/Services/Passenger/src/Passenger/Extensions/Infrastructure/InfrastructureExtensions.cs index c8cd27a..2228c13 100644 --- a/src/Services/Passenger/src/Passenger/Extensions/Infrastructure/InfrastructureExtensions.cs +++ b/src/Services/Passenger/src/Passenger/Extensions/Infrastructure/InfrastructureExtensions.cs @@ -28,6 +28,8 @@ using Serilog; namespace Passenger.Extensions.Infrastructure; +using BuildingBlocks.PersistMessageProcessor.Data; + public static class InfrastructureExtensions { public static WebApplicationBuilder AddInfrastructure(this WebApplicationBuilder builder) @@ -95,6 +97,7 @@ public static class InfrastructureExtensions { options.EnrichDiagnosticContext = LogEnrichHelper.EnrichFromRequest; }); + app.UseMigrationPersistMessage(env); app.UseMigration(env); app.UseCorrelationId(); app.UseHttpMetrics();