Completed
Push — master ( c1632c...027069 )
by Joas
22:03 queued 08:37
created

Application::__construct()   A

Complexity

Conditions 3
Paths 1

Size

Total Lines 18
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 3
eloc 13
nc 1
nop 1
dl 0
loc 18
rs 9.4285
c 1
b 0
f 1
1
<?php
2
3
namespace OCA\Provisioning_API\AppInfo;
4
5
use OC\AppFramework\Utility\SimpleContainer;
6
use OCA\Provisioning_API\Middleware\ProvisioningApiMiddleware;
7
use OCP\AppFramework\App;
8
9
class Application extends App {
10
	public function __construct(array $urlParams = array()) {
11
		parent::__construct('provisioning_api', $urlParams);
12
13
		$container = $this->getContainer();
14
		$server = $container->getServer();
15
16
		$container->registerService('ProvisioningApiMiddleware', function(SimpleContainer $c) use ($server) {
17
			$user = $server->getUserManager()->get($c['UserId']);
18
			$isAdmin = $user !== null ? $server->getGroupManager()->isAdmin($user->getUID()) : false;
19
			$isSubAdmin = $user !== null ? $server->getGroupManager()->getSubAdmin()->isSubAdmin($user) : false;
20
			return new ProvisioningApiMiddleware(
21
				$c['ControllerMethodReflector'],
22
				$isAdmin,
23
				$isSubAdmin
24
			);
25
		});
26
		$container->registerMiddleWare('ProvisioningApiMiddleware');
27
	}
28
}
29