Expand API and routes.

This commit is contained in:
James Cole
2018-12-08 21:26:20 +01:00
parent 3b15415a1b
commit 05b0425929
27 changed files with 686 additions and 516 deletions

View File

@@ -42,6 +42,7 @@ use FireflyIII\Models\Budget;
use FireflyIII\Models\Category;
use FireflyIII\Models\Tag;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Support\CacheProperties;
use FireflyIII\User;
@@ -527,6 +528,25 @@ class TransactionCollector implements TransactionCollectorInterface
return $this;
}
/**
* Set the required currency (local or foreign)
*
* @param TransactionCurrency $currency
*
* @return TransactionCollectorInterface
*/
public function setCurrency(TransactionCurrency $currency): TransactionCollectorInterface
{
$this->query->where(
function (EloquentBuilder $builder) use ($currency) {
$builder->where('transactions.transaction_currency_id', $currency->id);
$builder->orWhere('transactions.foreign_currency_id', $currency->id);
}
);
return $this;
}
/**
* @param array $journalIds
*

View File

@@ -27,6 +27,7 @@ use Carbon\Carbon;
use FireflyIII\Models\Budget;
use FireflyIII\Models\Category;
use FireflyIII\Models\Tag;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Pagination\LengthAwarePaginator;
@@ -144,6 +145,15 @@ interface TransactionCollectorInterface
*/
public function setAllAssetAccounts(): TransactionCollectorInterface;
/**
* Set the required currency (local or foreign)
*
* @param TransactionCurrency $currency
*
* @return TransactionCollectorInterface
*/
public function setCurrency(TransactionCurrency $currency): TransactionCollectorInterface;
/**
* Collect transactions before a specific date.
*