CollectionsController::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 3
1
<?php
2
/**
3
 * Nextcloud - Tasks
4
 *
5
 * @author Raimund Schlüßler
6
 * @copyright 2018 Raimund Schlüßler <[email protected]>
7
 *
8
 * This library is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
10
 * License as published by the Free Software Foundation; either
11
 * version 3 of the License, or any later version.
12
 *
13
 * This library is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
17
 *
18
 * You should have received a copy of the GNU Affero General Public
19
 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
20
 *
21
 */
22
23
namespace OCA\Tasks\Controller;
24
25
use \OCA\Tasks\Service\CollectionsService;
26
use \OCP\IRequest;
27
use \OCP\AppFramework\Controller;
28
29
class CollectionsController extends Controller {
30
31
	/**
32
	 * @var CollectionsService
33
	 */
34
	private $collectionsService;
35
36
	use Response;
37
38
	/**
39
	 * @param string $appName
40
	 * @param IRequest $request an instance of the request
41
	 * @param CollectionsService $collectionsService
42
	 */
43
	public function __construct(string $appName, IRequest $request, CollectionsService $collectionsService) {
44
		parent::__construct($appName, $request);
45
		$this->collectionsService = $collectionsService;
46
	}
47
48
	/**
49
	 * @NoAdminRequired
50
	 */
51
	public function getCollections() {
52
		return $this->generateResponse(function () {
53
			return ['collections' => $this->collectionsService->getAll()];
54
		});
55
	}
56
57
	/**
58
	 * @NoAdminRequired
59
	 */
60
	public function setVisibility($collectionID, $visibility) {
61
		return $this->generateResponse(function () use ($collectionID, $visibility) {
62
			return $this->collectionsService->setVisibility($collectionID, $visibility);
63
		});
64
	}
65
}
66