diff --git a/lib/Middleware/CanUseTalkMiddleware.php b/lib/Middleware/CanUseTalkMiddleware.php index 88becb4f945..9d7528aa8fe 100644 --- a/lib/Middleware/CanUseTalkMiddleware.php +++ b/lib/Middleware/CanUseTalkMiddleware.php @@ -9,6 +9,7 @@ namespace OCA\Talk\Middleware; use OCA\Talk\Config; +use OCA\Talk\Controller\BotController; use OCA\Talk\Controller\HostedSignalingServerController; use OCA\Talk\Controller\RecordingController; use OCA\Talk\Controller\SignalingController; @@ -90,11 +91,23 @@ public function beforeController(Controller $controller, string $methodName): vo return; } + if ($methodName === 'getSettings' + && $controller instanceof SignalingController + && $this->groupManager->isAdmin($user->getUID())) { + return; + } + if ($controller instanceof HostedSignalingServerController && $this->groupManager->isAdmin($user->getUID())) { return; } + if ($methodName === 'adminListBots' + && $controller instanceof BotController + && $this->groupManager->isAdmin($user->getUID())) { + return; + } + throw new CanNotUseTalkException(); }