femto-backend/Femto.Modules.Media/Application/MediaModule.cs

25 lines
No EOL
823 B
C#

using Femto.Common.Domain;
using MediatR;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace Femto.Modules.Media.Application;
public class MediaModule(IHost host) : IMediaModule
{
public async Task<TResult> PostCommand<TResult>(ICommand<TResult> command)
{
using var scope = host.Services.CreateScope();
var mediator = scope.ServiceProvider.GetRequiredService<IMediator>();
var response = await mediator.Send(command);
return response;
}
public async Task<TResult> PostQuery<TResult>(IQuery<TResult> query)
{
using var scope = host.Services.CreateScope();
var mediator = scope.ServiceProvider.GetRequiredService<IMediator>();
var response = await mediator.Send(query);
return response;
}
}