From 46f04106e67f5356ad1acf84d8905796125a9eb7 Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Wed, 8 Jul 2020 13:49:11 +0200 Subject: [PATCH 1/2] Improve registerService logic for ProvisioningApiMiddleware for static code analysis Signed-off-by: Daniel Kesselberg Signed-off-by: Morris Jobke --- apps/provisioning_api/lib/AppInfo/Application.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/provisioning_api/lib/AppInfo/Application.php b/apps/provisioning_api/lib/AppInfo/Application.php index 6d99c48be5d..c706cd38a10 100644 --- a/apps/provisioning_api/lib/AppInfo/Application.php +++ b/apps/provisioning_api/lib/AppInfo/Application.php @@ -29,11 +29,14 @@ namespace OCA\Provisioning_API\AppInfo; use OC\AppFramework\Utility\SimpleContainer; use OC\AppFramework\Utility\TimeFactory; +use OC\Group\Manager as GroupManager; use OCA\Provisioning_API\Middleware\ProvisioningApiMiddleware; use OCA\Settings\Mailer\NewUserMailHelper; use OCP\AppFramework\App; use OCP\AppFramework\Utility\IControllerMethodReflector; use OCP\Defaults; +use OCP\IGroupManager; +use OCP\IUser; use OCP\Util; class Application extends App { @@ -58,8 +61,16 @@ class Application extends App { }); $container->registerService('ProvisioningApiMiddleware', function (SimpleContainer $c) use ($server) { $user = $server->getUserManager()->get($c['UserId']); - $isAdmin = $user !== null ? $server->getGroupManager()->isAdmin($user->getUID()) : false; - $isSubAdmin = $user !== null ? $server->getGroupManager()->getSubAdmin()->isSubAdmin($user) : false; + $isAdmin = false; + $isSubAdmin = false; + + if ($user instanceof IUser) { + $groupManager = $server->get(IGroupManager::class); + assert($groupManager instanceof GroupManager); + $isAdmin = $groupManager->isAdmin($user->getUID()); + $isSubAdmin = $groupManager->getSubAdmin()->isSubAdmin($user); + } + return new ProvisioningApiMiddleware( $c->query(IControllerMethodReflector::class), $isAdmin, From a65b431f518db2b3146b89fc0a9b8be600673bf0 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Wed, 16 Sep 2020 17:02:44 +0200 Subject: [PATCH 2/2] Update baseline Signed-off-by: Morris Jobke --- build/psalm-baseline.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index b71de1117db..cd1dd96cad1 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -2122,11 +2122,6 @@ - - - getSubAdmin - - $quota