X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/7d94da10fbb0fa6de6f24878ea5984f8de6a031c..refs/pull/3032/head:/app/Entities/Tools/TrashCan.php diff --git a/app/Entities/Tools/TrashCan.php b/app/Entities/Tools/TrashCan.php index bf3792835..82569278e 100644 --- a/app/Entities/Tools/TrashCan.php +++ b/app/Entities/Tools/TrashCan.php @@ -1,11 +1,13 @@ -destroyCommonRelations($shelf); $shelf->forceDelete(); + return 1; } /** * Remove a book from the system. * Destroys any child chapters and pages. + * * @throws Exception */ protected function destroyBook(Book $book): int @@ -120,12 +127,14 @@ class TrashCan $this->destroyCommonRelations($book); $book->forceDelete(); + return $count + 1; } /** * Remove a chapter from the system. * Destroys all pages within. + * * @throws Exception */ protected function destroyChapter(Chapter $chapter): int @@ -141,16 +150,19 @@ class TrashCan $this->destroyCommonRelations($chapter); $chapter->forceDelete(); + return $count + 1; } /** * Remove a page from the system. + * * @throws Exception */ protected function destroyPage(Page $page): int { $this->destroyCommonRelations($page); + $page->allRevisions()->delete(); // Delete Attached Files $attachmentService = app(AttachmentService::class); @@ -159,6 +171,7 @@ class TrashCan } $page->forceDelete(); + return 1; } @@ -171,7 +184,7 @@ class TrashCan $counts = []; /** @var Entity $instance */ - foreach ((new EntityProvider)->all() as $key => $instance) { + foreach ((new EntityProvider())->all() as $key => $instance) { $counts[$key] = $instance->newQuery()->onlyTrashed()->count(); } @@ -180,6 +193,7 @@ class TrashCan /** * Destroy all items that have pending deletions. + * * @throws Exception */ public function empty(): int @@ -189,11 +203,13 @@ class TrashCan foreach ($deletions as $deletion) { $deleteCount += $this->destroyFromDeletion($deletion); } + return $deleteCount; } /** * Destroy an element from the given deletion model. + * * @throws Exception */ public function destroyFromDeletion(Deletion $deletion): int @@ -206,11 +222,13 @@ class TrashCan $count = $this->destroyEntity($deletion->deletable); } $deletion->delete(); + return $count; } /** * Restore the content within the given deletion. + * * @throws Exception */ public function restoreFromDeletion(Deletion $deletion): int @@ -228,6 +246,7 @@ class TrashCan } $deletion->delete(); + return $restoreCount; } @@ -235,6 +254,7 @@ class TrashCan * Automatically clear old content from the recycle bin * depending on the configured lifetime. * Returns the total number of deleted elements. + * * @throws Exception */ public function autoClearOld(): int @@ -286,6 +306,7 @@ class TrashCan /** * Destroy the given entity. + * * @throws Exception */ protected function destroyEntity(Entity $entity): int