Passed
Pull Request — master (#1282)
by René
05:47 queued 01:56
created

SystemController::getSiteUsersAndGroups()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 12
ccs 0
cts 3
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 8
crap 2

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
/**
3
 * @copyright Copyright (c) 2017 Vinzenz Rosenkranz <[email protected]>
4
 *
5
 * @author René Gieling <[email protected]>
6
 *
7
 * @license GNU AGPL version 3 or any later version
8
 *
9
 *  This program is free software: you can redistribute it and/or modify
10
 *  it under the terms of the GNU Affero General Public License as
11
 *  published by the Free Software Foundation, either version 3 of the
12
 *  License, or (at your option) any later version.
13
 *
14
 *  This program is distributed in the hope that it will be useful,
15
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 *  GNU Affero General Public License for more details.
18
 *
19
 *  You should have received a copy of the GNU Affero General Public License
20
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 *
22
 */
23
24
namespace OCA\Polls\Controller;
25
26
use OCP\AppFramework\Controller;
27
use OCP\AppFramework\Http;
28
use OCP\AppFramework\Http\DataResponse;
29
use OCA\Polls\Service\SystemService;
30
31
use OCP\IRequest;
32
33
class SystemController extends Controller {
34
35
	/** @var SystemService */
36
	private $systemService;
37
38
	public function __construct(
39
		string $appName,
40
		IRequest $request,
41
		SystemService $systemService
42
	) {
43
		parent::__construct($appName, $request);
44
		$this->systemService = $systemService;
45
	}
46
47
	/**
48
	 * Get a combined list of NC users, groups and contacts
49
	 * @NoAdminRequired
50
	 * $query
51
	 */
52
	public function userSearch($query = ''): DataResponse {
53
		return new DataResponse(['siteusers' => $this->systemService->getSiteUsersAndGroups(
54
			$query)], Http::STATUS_OK);
55
	}
56
}
57