]> BookStack Code Mirror - bookstack/blobdiff - app/Entities/Controllers/PageRevisionController.php
Fixed OIDC Logout
[bookstack] / app / Entities / Controllers / PageRevisionController.php
index 9e6a90477984cf01b1db0398b67512f944f32d2a..a3190a0fc43ee6627ef763afd6ecc1b665e681a1 100644 (file)
@@ -5,6 +5,7 @@ namespace BookStack\Entities\Controllers;
 use BookStack\Activity\ActivityType;
 use BookStack\Entities\Models\PageRevision;
 use BookStack\Entities\Repos\PageRepo;
+use BookStack\Entities\Repos\RevisionRepo;
 use BookStack\Entities\Tools\PageContent;
 use BookStack\Exceptions\NotFoundException;
 use BookStack\Facades\Activity;
@@ -16,7 +17,8 @@ use Ssddanbrown\HtmlDiff\Diff;
 class PageRevisionController extends Controller
 {
     public function __construct(
-        protected PageRepo $pageRepo
+        protected PageRepo $pageRepo,
+        protected RevisionRepo $revisionRepo,
     ) {
     }
 
@@ -154,4 +156,15 @@ class PageRevisionController extends Controller
 
         return redirect($page->getUrl('/revisions'));
     }
+
+    /**
+     * Destroys existing drafts, belonging to the current user, for the given page.
+     */
+    public function destroyUserDraft(string $pageId)
+    {
+        $page = $this->pageRepo->getById($pageId);
+        $this->revisionRepo->deleteDraftsForCurrentUser($page);
+
+        return response('', 200);
+    }
 }