Ability to delete recurring transactions.

This commit is contained in:
James Cole
2018-06-23 08:19:29 +02:00
parent b95dd5c238
commit 19a874b274
11 changed files with 320 additions and 98 deletions

View File

@@ -33,6 +33,7 @@ use FireflyIII\Models\RecurrenceMeta;
use FireflyIII\Models\RecurrenceRepetition;
use FireflyIII\Models\RecurrenceTransaction;
use FireflyIII\Models\RecurrenceTransactionMeta;
use FireflyIII\Services\Internal\Destroy\RecurrenceDestroyService;
use FireflyIII\Services\Internal\Update\RecurrenceUpdateService;
use FireflyIII\User;
use Illuminate\Support\Collection;
@@ -47,6 +48,18 @@ class RecurringRepository implements RecurringRepositoryInterface
/** @var User */
private $user;
/**
* Destroy a recurring transaction.
*
* @param Recurrence $recurrence
*/
public function destroy(Recurrence $recurrence): void
{
/** @var RecurrenceDestroyService $service */
$service = app(RecurrenceDestroyService::class);
$service->destroy($recurrence);
}
/**
* Returns all of the user's recurring transactions.
*

View File

@@ -39,6 +39,13 @@ use Illuminate\Support\Collection;
*/
interface RecurringRepositoryInterface
{
/**
* Destroy a recurring transaction.
*
* @param Recurrence $recurrence
*/
public function destroy(Recurrence $recurrence): void;
/**
* Returns all of the user's recurring transactions.
*
@@ -48,19 +55,11 @@ interface RecurringRepositoryInterface
/**
* Get ALL recurring transactions.
*
* @return Collection
*/
public function getAll(): Collection;
/**
* Get the category from a recurring transaction transaction.
*
* @param RecurrenceTransaction $recurrenceTransaction
*
* @return null|string
*/
public function getCategory(RecurrenceTransaction $recurrenceTransaction): ?string;
/**
* Get the budget ID from a recurring transaction transaction.
*
@@ -70,6 +69,15 @@ interface RecurringRepositoryInterface
*/
public function getBudget(RecurrenceTransaction $recurrenceTransaction): ?int;
/**
* Get the category from a recurring transaction transaction.
*
* @param RecurrenceTransaction $recurrenceTransaction
*
* @return null|string
*/
public function getCategory(RecurrenceTransaction $recurrenceTransaction): ?string;
/**
* Get the notes.
*