Completed
Pull Request — master (#362)
by Maxence
02:57
created

CircleCreate::manage()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 16
rs 9.7333
c 0
b 0
f 0
cc 3
nc 3
nop 1
1
<?php declare(strict_types=1);
2
3
4
/**
5
 * Circles - Bring cloud-users closer together.
6
 *
7
 * This file is licensed under the Affero General Public License version 3 or
8
 * later. See the COPYING file.
9
 *
10
 * @author Maxence Lange <[email protected]>
11
 * @copyright 2017
12
 * @license GNU AGPL version 3 or any later version
13
 *
14
 * This program is free software: you can redistribute it and/or modify
15
 * it under the terms of the GNU Affero General Public License as
16
 * published by the Free Software Foundation, either version 3 of the
17
 * License, or (at your option) any later version.
18
 *
19
 * This program is distributed in the hope that it will be useful,
20
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22
 * GNU Affero General Public License for more details.
23
 *
24
 * You should have received a copy of the GNU Affero General Public License
25
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
26
 *
27
 */
28
29
30
namespace OCA\Circles\GlobalScale;
31
32
33
use OCA\Circles\Exceptions\CircleAlreadyExistsException;
34
use OCA\Circles\Exceptions\MemberAlreadyExistsException;
35
use OCA\Circles\Model\GlobalScale\GSEvent;
36
37
38
/**
39
 * Class CircleCreate
40
 *
41
 * @package OCA\Circles\GlobalScale
42
 */
43
class CircleCreate extends AGlobalScaleEvent {
44
45
46
	/**
47
	 * Circles are created on the original instance, so return false;
48
	 *
49
	 * @param GSEvent $event
50
	 * @param bool $localCheck
51
	 * @param bool $mustBeChecked
52
	 */
53
	public function verify(GSEvent $event, bool $localCheck = false, bool $mustBeChecked = false): void {
54
	}
55
56
57
	/**
58
	 * @param GSEvent $event
59
	 *
60
	 * @throws CircleAlreadyExistsException
61
	 * @throws MemberAlreadyExistsException
62
	 */
63
	public function manage(GSEvent $event): void {
64
		if (!$event->hasCircle()) {
65
			return;
66
		}
67
68
		$circle = $event->getCircle();
69
		$this->circlesRequest->createCircle($circle);
70
71
		$owner = $circle->getOwner();
72
		if ($owner->getInstance() === '') {
73
			$owner->setInstance($event->getSource());
74
		}
75
		$this->membersRequest->createMember($owner);
76
77
		$this->eventsService->onCircleCreation($circle);
78
	}
79
80
}
81
82