From 7e9ff90f3db140ca6a5f7ae4cedb8024373e6444 Mon Sep 17 00:00:00 2001 From: Mateusz Marciniak Date: Fri, 2 Feb 2024 16:45:11 +0100 Subject: [PATCH 1/2] fix: revert unnecessary assemblies filter --- .../Allegro.Extensions.DependencyCall/StartupExtensions.cs | 4 +--- src/Allegro.Extensions.DependencyCall/version.xml | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Allegro.Extensions.DependencyCall/Allegro.Extensions.DependencyCall/StartupExtensions.cs b/src/Allegro.Extensions.DependencyCall/Allegro.Extensions.DependencyCall/StartupExtensions.cs index b0ac4a4..b87ee75 100644 --- a/src/Allegro.Extensions.DependencyCall/Allegro.Extensions.DependencyCall/StartupExtensions.cs +++ b/src/Allegro.Extensions.DependencyCall/Allegro.Extensions.DependencyCall/StartupExtensions.cs @@ -25,9 +25,7 @@ public static IServiceCollection AddDependencyCall( s => s .FromAssemblies( applicationAssemblies ?? - AppDomain.CurrentDomain.GetAssemblies() - // Filter microsoft assemblies due to reflection problems in Microsoft.Data.SqlClient - .Where(a => a.FullName?.StartsWith("Microsoft", StringComparison.Ordinal) != true)) + AppDomain.CurrentDomain.GetAssemblies()) .AddClasses(c => c.AssignableTo(typeof(IDependencyCall<,>))) .AsImplementedInterfaces()// TODO: remove scrutor and register by own util .WithTransientLifetime()); diff --git a/src/Allegro.Extensions.DependencyCall/version.xml b/src/Allegro.Extensions.DependencyCall/version.xml index faedbe2..a715999 100644 --- a/src/Allegro.Extensions.DependencyCall/version.xml +++ b/src/Allegro.Extensions.DependencyCall/version.xml @@ -1,5 +1,5 @@ - 1.1.0 + 1.1.1 \ No newline at end of file From 222cfa45276dceb1ff85bed919a1d93b722322db Mon Sep 17 00:00:00 2001 From: Mateusz Marciniak Date: Fri, 2 Feb 2024 16:49:19 +0100 Subject: [PATCH 2/2] feat: add possibility for clients to pass assembly list in swagger extensions AddStronglyTypedIds --- .../Swagger/StronglyTypedIdsSwaggerExtensions.cs | 8 +++++--- src/Allegro.Extensions.Identifiers/version.xml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Allegro.Extensions.Identifiers/Allegro.Extensions.Identifiers.AspNetCore/Swagger/StronglyTypedIdsSwaggerExtensions.cs b/src/Allegro.Extensions.Identifiers/Allegro.Extensions.Identifiers.AspNetCore/Swagger/StronglyTypedIdsSwaggerExtensions.cs index f6afd2f..2c0bb16 100644 --- a/src/Allegro.Extensions.Identifiers/Allegro.Extensions.Identifiers.AspNetCore/Swagger/StronglyTypedIdsSwaggerExtensions.cs +++ b/src/Allegro.Extensions.Identifiers/Allegro.Extensions.Identifiers.AspNetCore/Swagger/StronglyTypedIdsSwaggerExtensions.cs @@ -1,3 +1,4 @@ +using System.Reflection; using Allegro.Extensions.Identifiers.Abstractions; using Microsoft.Extensions.DependencyInjection; using Microsoft.OpenApi.Any; @@ -14,12 +15,13 @@ public static class StronglyTypedIdsSwaggerExtensions /// /// Add swagger support for strongly typed identifiers /// - public static IServiceCollection AddStronglyTypedIds(this IServiceCollection services) + public static IServiceCollection AddStronglyTypedIds( + this IServiceCollection services, + IReadOnlyCollection? applicationAssemblies = null) { services.Configure(options => { - var types = AppDomain.CurrentDomain.GetAssemblies() - .Where(a => a.FullName?.StartsWith("Microsoft", StringComparison.Ordinal) != true) + var types = (applicationAssemblies ?? AppDomain.CurrentDomain.GetAssemblies()) .SelectMany(x => x.GetTypes()) .Where(x => IsAssignableToGenericType(x, typeof(IStronglyTypedId<>)) && !x.IsInterface && !x.IsAbstract) .ToList(); diff --git a/src/Allegro.Extensions.Identifiers/version.xml b/src/Allegro.Extensions.Identifiers/version.xml index 702302f..6b196ae 100644 --- a/src/Allegro.Extensions.Identifiers/version.xml +++ b/src/Allegro.Extensions.Identifiers/version.xml @@ -1,5 +1,5 @@ - 1.3.0 + 1.4.0 \ No newline at end of file