using Domain.Entities;
using Features.Breweries.Dtos;
using Features.Breweries.Repository;
using MediatR;
namespace Features.Breweries.Queries.GetAllBreweries;
/// Handles by retrieving brewery posts, newest first.
public class GetAllBreweriesHandler(IBreweryRepository repository)
: IRequestHandler>
{
/// Retrieves brewery posts, newest first, applying 's paging.
public async Task> Handle(
GetAllBreweriesQuery request,
CancellationToken cancellationToken
)
{
IEnumerable breweries = await repository.GetAllAsync(
request.Limit,
request.Offset
);
return breweries.Select(b => b.ToDto());
}
}