added dynamic queries for minimal api

This commit is contained in:
2025-11-03 09:50:03 -05:00
parent a0426aa0d1
commit 5ba351de9c
9 changed files with 506 additions and 1 deletions
+10
View File
@@ -5,6 +5,8 @@ using Svrnty.CQRS.FluentValidation;
using Svrnty.Sample;
using Svrnty.Sample.Grpc.Extensions;
using Svrnty.CQRS.MinimalApi;
using Svrnty.CQRS.DynamicQuery;
using Svrnty.CQRS.DynamicQuery.MinimalApi;
var builder = WebApplication.CreateBuilder(args);
@@ -24,6 +26,13 @@ builder.Services.AddCommand<RemoveUserCommand, RemoveUserCommandHandler>();
// Register query handlers with CQRS
builder.Services.AddQuery<FetchUserQuery, User, FetchUserQueryHandler>();
// Register PoweredSoft.DynamicQuery services
builder.Services.AddTransient<PoweredSoft.Data.Core.IAsyncQueryableService, SimpleAsyncQueryableService>();
builder.Services.AddTransient<PoweredSoft.DynamicQuery.Core.IQueryHandlerAsync, PoweredSoft.DynamicQuery.QueryHandlerAsync>();
// Register dynamic query for User entity with queryable provider
builder.Services.AddDynamicQueryWithProvider<User, UserQueryableProvider>();
// Register discovery services for MinimalApi
builder.Services.AddDefaultCommandDiscovery();
builder.Services.AddDefaultQueryDiscovery();
@@ -50,6 +59,7 @@ app.UseSwaggerUI();
// Map MinimalApi endpoints for commands and queries
app.MapSvrntyCommands();
app.MapSvrntyQueries();
app.MapSvrntyDynamicQueries();
Console.WriteLine("Auto-Generated gRPC Server with Reflection, Validation, MinimalApi and Swagger");