Improve code for recurring transactions.

This commit is contained in:
James Cole
2018-06-21 18:57:51 +02:00
parent 7bdd4ddeab
commit 1d162edb59
15 changed files with 431 additions and 153 deletions

View File

@@ -30,6 +30,7 @@ use FireflyIII\Models\Note;
use FireflyIII\Models\Preference;
use FireflyIII\Models\Recurrence;
use FireflyIII\Models\RecurrenceRepetition;
use FireflyIII\Services\Internal\Update\RecurrenceUpdateService;
use FireflyIII\User;
use Illuminate\Support\Collection;
@@ -368,4 +369,20 @@ class RecurringRepository implements RecurringRepositoryInterface
return $factory->create($data);
}
/**
* Update a recurring transaction.
*
* @param Recurrence $recurrence
* @param array $data
*
* @return Recurrence
*/
public function update(Recurrence $recurrence, array $data): Recurrence
{
/** @var RecurrenceUpdateService $service */
$service = app(RecurrenceUpdateService::class);
return $service->update($recurrence, $data);
}
}

View File

@@ -97,6 +97,8 @@ interface RecurringRepositoryInterface
public function setUser(User $user): void;
/**
* Store a new recurring transaction.
*
* @param array $data
*
* @throws FireflyException
@@ -104,4 +106,14 @@ interface RecurringRepositoryInterface
*/
public function store(array $data): Recurrence;
/**
* Update a recurring transaction.
*
* @param Recurrence $recurrence
* @param array $data
*
* @return Recurrence
*/
public function update(Recurrence $recurrence, array $data): Recurrence;
}