mega cleanup :D
This commit is contained in:
@@ -785,6 +785,72 @@ namespace Svrnty.CQRS.Grpc.Generators
|
||||
sb.AppendLine(" endpoints.MapGrpcService<DynamicQueryServiceImpl>();");
|
||||
sb.AppendLine(" return endpoints;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
// Add configuration-based methods
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// Registers gRPC services based on configuration");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static IServiceCollection AddGrpcFromConfiguration(this IServiceCollection services)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var config = services.BuildServiceProvider().GetService<Svrnty.CQRS.Configuration.CqrsConfiguration>();");
|
||||
sb.AppendLine(" var grpcOptions = config?.GetConfiguration<Svrnty.CQRS.Grpc.GrpcCqrsOptions>();");
|
||||
sb.AppendLine(" if (grpcOptions != null)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" services.AddGrpc();");
|
||||
sb.AppendLine(" if (grpcOptions.ShouldEnableReflection)");
|
||||
sb.AppendLine(" services.AddGrpcReflection();");
|
||||
sb.AppendLine();
|
||||
if (hasCommands)
|
||||
{
|
||||
sb.AppendLine(" if (grpcOptions.GetShouldMapCommands())");
|
||||
sb.AppendLine(" services.AddSingleton<CommandServiceImpl>();");
|
||||
}
|
||||
if (hasQueries)
|
||||
{
|
||||
sb.AppendLine(" if (grpcOptions.GetShouldMapQueries())");
|
||||
sb.AppendLine(" services.AddSingleton<QueryServiceImpl>();");
|
||||
}
|
||||
if (hasDynamicQueries)
|
||||
{
|
||||
sb.AppendLine(" if (grpcOptions.GetShouldMapQueries())");
|
||||
sb.AppendLine(" services.AddSingleton<DynamicQueryServiceImpl>();");
|
||||
}
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" return services;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// Maps gRPC service endpoints based on configuration");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static IEndpointRouteBuilder MapGrpcFromConfiguration(this IEndpointRouteBuilder endpoints)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var config = endpoints.ServiceProvider.GetService<Svrnty.CQRS.Configuration.CqrsConfiguration>();");
|
||||
sb.AppendLine(" var grpcOptions = config?.GetConfiguration<Svrnty.CQRS.Grpc.GrpcCqrsOptions>();");
|
||||
sb.AppendLine(" if (grpcOptions != null)");
|
||||
sb.AppendLine(" {");
|
||||
if (hasCommands)
|
||||
{
|
||||
sb.AppendLine(" if (grpcOptions.GetShouldMapCommands())");
|
||||
sb.AppendLine(" endpoints.MapGrpcService<CommandServiceImpl>();");
|
||||
}
|
||||
if (hasQueries)
|
||||
{
|
||||
sb.AppendLine(" if (grpcOptions.GetShouldMapQueries())");
|
||||
sb.AppendLine(" endpoints.MapGrpcService<QueryServiceImpl>();");
|
||||
}
|
||||
if (hasDynamicQueries)
|
||||
{
|
||||
sb.AppendLine(" if (grpcOptions.GetShouldMapQueries())");
|
||||
sb.AppendLine(" endpoints.MapGrpcService<DynamicQueryServiceImpl>();");
|
||||
}
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" if (grpcOptions.ShouldEnableReflection)");
|
||||
sb.AppendLine(" endpoints.MapGrpcReflectionService();");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" return endpoints;");
|
||||
sb.AppendLine(" }");
|
||||
}
|
||||
|
||||
sb.AppendLine(" }");
|
||||
@@ -1318,11 +1384,11 @@ namespace Svrnty.CQRS.Grpc.Generators
|
||||
// Build the dynamic query object
|
||||
if (dynamicQuery.HasParams)
|
||||
{
|
||||
sb.AppendLine($" var query = new Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQuery<{dynamicQuery.SourceTypeFullyQualified}, {dynamicQuery.DestinationTypeFullyQualified}, {dynamicQuery.ParamsTypeFullyQualified}>");
|
||||
sb.AppendLine($" var query = new Svrnty.CQRS.DynamicQuery.DynamicQuery<{dynamicQuery.SourceTypeFullyQualified}, {dynamicQuery.DestinationTypeFullyQualified}, {dynamicQuery.ParamsTypeFullyQualified}>");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendLine($" var query = new Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQuery<{dynamicQuery.SourceTypeFullyQualified}, {dynamicQuery.DestinationTypeFullyQualified}>");
|
||||
sb.AppendLine($" var query = new Svrnty.CQRS.DynamicQuery.DynamicQuery<{dynamicQuery.SourceTypeFullyQualified}, {dynamicQuery.DestinationTypeFullyQualified}>");
|
||||
}
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" Page = request.Page > 0 ? request.Page : null,");
|
||||
@@ -1362,15 +1428,15 @@ namespace Svrnty.CQRS.Grpc.Generators
|
||||
}
|
||||
|
||||
// Add helper methods for converting proto messages to AspNetCore types
|
||||
sb.AppendLine(" private static List<Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryFilter>? ConvertFilters(Google.Protobuf.Collections.RepeatedField<DynamicQueryFilter> protoFilters)");
|
||||
sb.AppendLine(" private static List<Svrnty.CQRS.DynamicQuery.DynamicQueryFilter>? ConvertFilters(Google.Protobuf.Collections.RepeatedField<DynamicQueryFilter> protoFilters)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (protoFilters == null || protoFilters.Count == 0)");
|
||||
sb.AppendLine(" return null;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var filters = new List<Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryFilter>();");
|
||||
sb.AppendLine(" var filters = new List<Svrnty.CQRS.DynamicQuery.DynamicQueryFilter>();");
|
||||
sb.AppendLine(" foreach (var protoFilter in protoFilters)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var filter = new Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryFilter");
|
||||
sb.AppendLine(" var filter = new Svrnty.CQRS.DynamicQuery.DynamicQueryFilter");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" Path = protoFilter.Path,");
|
||||
sb.AppendLine(" Type = ((PoweredSoft.DynamicQuery.Core.FilterType)protoFilter.Type).ToString(),");
|
||||
@@ -1395,12 +1461,12 @@ namespace Svrnty.CQRS.Grpc.Generators
|
||||
sb.AppendLine(" return filters;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" private static List<Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryFilter> ConvertProtoFiltersToList(Google.Protobuf.Collections.RepeatedField<DynamicQueryFilter> protoFilters)");
|
||||
sb.AppendLine(" private static List<Svrnty.CQRS.DynamicQuery.DynamicQueryFilter> ConvertProtoFiltersToList(Google.Protobuf.Collections.RepeatedField<DynamicQueryFilter> protoFilters)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var result = new List<Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryFilter>();");
|
||||
sb.AppendLine(" var result = new List<Svrnty.CQRS.DynamicQuery.DynamicQueryFilter>();");
|
||||
sb.AppendLine(" foreach (var pf in protoFilters)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var filter = new Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryFilter");
|
||||
sb.AppendLine(" var filter = new Svrnty.CQRS.DynamicQuery.DynamicQueryFilter");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" Path = pf.Path,");
|
||||
sb.AppendLine(" Type = ((PoweredSoft.DynamicQuery.Core.FilterType)pf.Type).ToString(),");
|
||||
@@ -1447,12 +1513,12 @@ namespace Svrnty.CQRS.Grpc.Generators
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" private static List<Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryAggregate>? ConvertAggregates(Google.Protobuf.Collections.RepeatedField<DynamicQueryAggregate> protoAggregates)");
|
||||
sb.AppendLine(" private static List<Svrnty.CQRS.DynamicQuery.DynamicQueryAggregate>? ConvertAggregates(Google.Protobuf.Collections.RepeatedField<DynamicQueryAggregate> protoAggregates)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (protoAggregates == null || protoAggregates.Count == 0)");
|
||||
sb.AppendLine(" return null;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" return protoAggregates.Select(a => new Svrnty.CQRS.DynamicQuery.AspNetCore.DynamicQueryAggregate");
|
||||
sb.AppendLine(" return protoAggregates.Select(a => new Svrnty.CQRS.DynamicQuery.DynamicQueryAggregate");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" Path = a.Path,");
|
||||
sb.AppendLine(" Type = ((PoweredSoft.DynamicQuery.Core.AggregateType)a.Type).ToString()");
|
||||
|
||||
Reference in New Issue
Block a user