. */ declare(strict_types=1); namespace FireflyIII\Handlers\Observer; use FireflyIII\Models\Recurrence; use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface; /** * Class RecurrenceObserver */ class RecurrenceObserver { public function deleting(Recurrence $recurrence): void { app('log')->debug('Observe "deleting" of a recurrence.'); $repository = app(AttachmentRepositoryInterface::class); $repository->setUser($recurrence->user); foreach ($recurrence->attachments()->get() as $attachment) { $repository->destroy($attachment); } $recurrence->recurrenceRepetitions()->delete(); $recurrence->recurrenceMeta()->delete(); foreach ($recurrence->recurrenceTransactions()->get() as $transaction) { $transaction->delete(); } $recurrence->notes()->delete(); } }