class TransactionRepositoryOkHttpImpl extends AbstractRepositoryOkHttpImpl implements TransactionRepository {

  @Override
  public Observable<Page<Transaction>> search(TransactionSearchCriteria criteria) {
    Callable<TransactionPage> callback = () -> basicSearch(criteria);
    return call(
        callback,
        p -> {
          List<Transaction> data =
              p.getData().stream()
                  .map(
                      transactionInfoDTO -> mapTransaction(criteria.getGroup(), transactionInfoDTO))
                  .collect(Collectors.toList());
          return toPage(p.getPagination(), data);
        });
  }

  public  TransactionRepositoryOkHttpImpl(ApiClient apiClient);

}