Expand API with available budgets.

This commit is contained in:
James Cole
2018-06-24 08:33:06 +02:00
parent ad6a9a7df7
commit 91701473af
12 changed files with 522 additions and 27 deletions

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Repositories\Budget;
use Carbon\Carbon;
use FireflyIII\Models\AvailableBudget;
use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Models\TransactionCurrency;
@@ -69,6 +70,11 @@ interface BudgetRepositoryInterface
*/
public function destroy(Budget $budget): bool;
/**
* @param AvailableBudget $availableBudget
*/
public function destroyAvailableBudget(AvailableBudget $availableBudget): void;
/**
* Filters entries from the result set generated by getBudgetPeriodReport.
*
@@ -141,6 +147,13 @@ interface BudgetRepositoryInterface
*/
public function getAvailableBudget(TransactionCurrency $currency, Carbon $start, Carbon $end): string;
/**
* Returns all available budget objects.
*
* @return Collection
*/
public function getAvailableBudgets(): Collection;
/**
* @param Budget $budget
* @param Carbon $start
@@ -194,9 +207,9 @@ interface BudgetRepositoryInterface
* @param Carbon $end
* @param string $amount
*
* @return bool
* @return AvailableBudget
*/
public function setAvailableBudget(TransactionCurrency $currency, Carbon $start, Carbon $end, string $amount): bool;
public function setAvailableBudget(TransactionCurrency $currency, Carbon $start, Carbon $end, string $amount): AvailableBudget;
/**
* @param User $user
@@ -213,6 +226,7 @@ interface BudgetRepositoryInterface
*/
public function spentInPeriod(Collection $budgets, Collection $accounts, Carbon $start, Carbon $end): string;
/**
* @param Collection $accounts
* @param Carbon $start
@@ -237,6 +251,14 @@ interface BudgetRepositoryInterface
*/
public function update(Budget $budget, array $data): Budget;
/**
* @param AvailableBudget $availableBudget
* @param array $data
*
* @return AvailableBudget
*/
public function updateAvailableBudget(AvailableBudget $availableBudget, array $data): AvailableBudget;
/**
* @param Budget $budget
* @param Carbon $start