using Domain.Entities;
using Features.Breweries.Dtos;
using Features.Breweries.Repository;
using MediatR;
namespace Features.Breweries.Queries.GetBreweryById;
/// Handles by retrieving the matching brewery post.
public class GetBreweryByIdHandler(IBreweryRepository repository)
: IRequestHandler
{
/// Retrieves the brewery post, or if none exists with the given ID.
public async Task Handle(
GetBreweryByIdQuery request,
CancellationToken cancellationToken
)
{
BreweryPost? brewery = await repository.GetByIdAsync(request.BreweryPostId, cancellationToken);
return brewery?.ToDto();
}
}