@Override
@Transactional(readOnly = true)
public List<OrderResponse> searchOrders(
Status status,
String clientName,
String clientEmail,
BigDecimal minAmount,
BigDecimal maxAmount,
LocalDateTime dateFrom,
LocalDateTime dateTo
) {
return orderRepository.findAllByPredicate(
status,
normalize(clientName),
normalize(clientEmail),
minAmount,
maxAmount,
dateFrom,
dateTo,
Sort.by(Sort.Direction.DESC, "createdDate"))
.stream()
.map(this::mapToResponse)
.toList();
}