3 namespace BookStack\Activity\Controllers;
5 use BookStack\Activity\Tools\UserEntityWatchOptions;
6 use BookStack\Entities\Tools\MixedEntityRequestHelper;
7 use BookStack\Http\Controller;
8 use Illuminate\Http\Request;
10 class WatchController extends Controller
12 public function update(Request $request, MixedEntityRequestHelper $entityHelper)
14 $this->checkPermission('receive-notifications');
15 $this->preventGuestAccess();
17 $requestData = $this->validate($request, array_merge([
18 'level' => ['required', 'string'],
19 ], $entityHelper->validationRules()));
21 $watchable = $entityHelper->getVisibleEntityFromRequestData($requestData);
22 $watchOptions = new UserEntityWatchOptions(user(), $watchable);
23 $watchOptions->updateLevelByName($requestData['level']);
25 $this->showSuccessNotification(trans('activities.watch_update_level_notification'));
27 return redirect()->back();