]> BookStack Code Mirror - bookstack/blobdiff - app/Activity/Controllers/WatchController.php
Fixed OIDC Logout
[bookstack] / app / Activity / Controllers / WatchController.php
index a297aaafc33d2fd63f60d7019af2fcb5248a892f..3d7e18116bec0b404bd8dd804480c23ab150376d 100644 (file)
@@ -2,8 +2,7 @@
 
 namespace BookStack\Activity\Controllers;
 
-use BookStack\Activity\Models\Watch;
-use BookStack\Activity\Tools\UserWatchOptions;
+use BookStack\Activity\Tools\UserEntityWatchOptions;
 use BookStack\App\Model;
 use BookStack\Entities\Models\Entity;
 use BookStack\Http\Controller;
@@ -15,13 +14,16 @@ class WatchController extends Controller
 {
     public function update(Request $request)
     {
+        $this->checkPermission('receive-notifications');
+        $this->preventGuestAccess();
+
         $requestData = $this->validate($request, [
             'level' => ['required', 'string'],
         ]);
 
         $watchable = $this->getValidatedModelFromRequest($request);
-        $watchOptions = new UserWatchOptions(user());
-        $watchOptions->updateEntityWatchLevel($watchable, $requestData['level']);
+        $watchOptions = new UserEntityWatchOptions(user(), $watchable);
+        $watchOptions->updateLevelByName($requestData['level']);
 
         $this->showSuccessNotification(trans('activities.watch_update_level_notification'));