using Domain.Entities;
using Features.Breweries.Dtos;
using Features.Breweries.Repository;
using MediatR;
namespace Features.Breweries.Queries.GetBreweryById;
///
/// Handles lookup requests for individual brewery posts.
///
public class GetBreweryByIdHandler(IBreweryRepository repository)
: IRequestHandler
{
///
/// Retrieves and maps the post, if it exists.
///
public async Task Handle(
GetBreweryByIdQuery request,
CancellationToken cancellationToken
)
{
BreweryPost? brewery = await repository.GetByIdAsync(
request.BreweryPostId,
cancellationToken
);
return brewery?.ToDto();
}
}