using Femto.Common.Domain; using MediatR; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace Femto.Modules.Auth.Application; internal class AuthModule(IHost host) : IAuthModule { public Task Command(ICommand command, CancellationToken cancellationToken = default) { using var scope = host.Services.CreateScope(); var mediator = scope.ServiceProvider.GetRequiredService(); return mediator.Send(command, cancellationToken); } public async Task Command( ICommand command, CancellationToken cancellationToken = default ) { using var scope = host.Services.CreateScope(); var mediator = scope.ServiceProvider.GetRequiredService(); var response = await mediator.Send(command, cancellationToken); return response; } public async Task Query(IQuery query, CancellationToken cancellationToken = default) { using var scope = host.Services.CreateScope(); var mediator = scope.ServiceProvider.GetRequiredService(); var response = await mediator.Send(query, cancellationToken); return response; } }