Completed
Push — master ( 8dabac...269796 )
by Maxence
02:53 queued 11s
created

EventService::memberLeaving()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
6
/**
7
 * Circles - Bring cloud-users closer together.
8
 *
9
 * This file is licensed under the Affero General Public License version 3 or
10
 * later. See the COPYING file.
11
 *
12
 * @author Maxence Lange <[email protected]>
13
 * @author Vinicius Cubas Brand <[email protected]>
14
 * @author Daniel Tygel <[email protected]>
15
 *
16
 * @copyright 2017
17
 * @license GNU AGPL version 3 or any later version
18
 *
19
 * This program is free software: you can redistribute it and/or modify
20
 * it under the terms of the GNU Affero General Public License as
21
 * published by the Free Software Foundation, either version 3 of the
22
 * License, or (at your option) any later version.
23
 *
24
 * This program is distributed in the hope that it will be useful,
25
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27
 * GNU Affero General Public License for more details.
28
 *
29
 * You should have received a copy of the GNU Affero General Public License
30
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
31
 *
32
 */
33
34
35
namespace OCA\Circles\Service;
36
37
38
use daita\MySmallPhpTools\Model\SimpleDataStore;
39
use OCA\Circles\Events\AddingCircleMemberEvent;
40
use OCA\Circles\Events\CircleCreatedEvent;
41
use OCA\Circles\Events\CircleDestroyedEvent;
42
use OCA\Circles\Events\CircleGenericEvent;
43
use OCA\Circles\Events\CircleMemberAddedEvent;
44
use OCA\Circles\Events\CircleMemberEditedEvent;
45
use OCA\Circles\Events\CircleMemberRemovedEvent;
46
use OCA\Circles\Events\CreatingCircleEvent;
47
use OCA\Circles\Events\DestroyingCircleEvent;
48
use OCA\Circles\Events\EditingCircleMemberEvent;
49
use OCA\Circles\Events\MembershipsCreatedEvent;
50
use OCA\Circles\Events\MembershipsRemovedEvent;
51
use OCA\Circles\Events\RemovingCircleMemberEvent;
52
use OCA\Circles\Model\Federated\FederatedEvent;
53
use OCA\Circles\Model\Member;
54
use OCA\Circles\Model\Membership;
55
use OCA\Circles\Model\ShareWrapper;
56
use OCP\EventDispatcher\IEventDispatcher;
57
58
59
/**
60
 * Class EventService
61
 *
62
 * @package OCA\Circles\Service
63
 */
64
class EventService {
65
66
67
	/** @var IEventDispatcher */
68
	private $eventDispatcher;
69
70
71
	/**
72
	 * EventService constructor.
73
	 *
74
	 * @param IEventDispatcher $eventDispatcher
75
	 */
76
	public function __construct(IEventDispatcher $eventDispatcher) {
77
		$this->eventDispatcher = $eventDispatcher;
78
	}
79
80
81
	/**
82
	 * onCircleCreation()
83
	 *
84
	 * Called when a circle is created.
85
	 * Broadcast an activity to the cloud
86
	 * We won't do anything if the circle is not PUBLIC or CLOSED
87
	 *
88
	 * @param FederatedEvent $federatedEvent
89
	 */
90
	public function circleCreating(FederatedEvent $federatedEvent): void {
91
		$event = new CreatingCircleEvent($federatedEvent);
92
		$this->eventDispatcher->dispatchTyped($event);
93
	}
94
95
	/**
96
	 * @param FederatedEvent $federatedEvent
97
	 * @param array $results
98
	 */
99
	public function circleCreated(FederatedEvent $federatedEvent, array $results): void {
100
		$event = new CircleCreatedEvent($federatedEvent, $results);
101
		$this->eventDispatcher->dispatchTyped($event);
102
	}
103
104
105
	/**
106
	 * @param FederatedEvent $federatedEvent
107
	 */
108
	public function circleDestroying(FederatedEvent $federatedEvent): void {
109
		$event = new DestroyingCircleEvent($federatedEvent);
110
		$this->eventDispatcher->dispatchTyped($event);
111
	}
112
113
	/**
114
	 * @param FederatedEvent $federatedEvent
115
	 * @param array $results
116
	 */
117
	public function circleDestroyed(FederatedEvent $federatedEvent, array $results): void {
118
		$event = new CircleDestroyedEvent($federatedEvent, $results);
119
		$this->eventDispatcher->dispatchTyped($event);
120
	}
121
122
123
	/**
124
	 * @param FederatedEvent $federatedEvent
125
	 */
126
	public function singleMemberAdding(FederatedEvent $federatedEvent): void {
127
		$event = new AddingCircleMemberEvent($federatedEvent);
128
		$event->setType(CircleGenericEvent::INVITED);
129
		$this->eventDispatcher->dispatchTyped($event);
130
	}
131
132
	/**
133
	 * @param FederatedEvent $federatedEvent
134
	 * @param array $results
135
	 */
136
	public function singleMemberAdded(FederatedEvent $federatedEvent, array $results): void {
137
		$event = new CircleMemberAddedEvent($federatedEvent, $results);
138
		$event->setType(CircleGenericEvent::INVITED);
139
		$this->eventDispatcher->dispatchTyped($event);
140
	}
141
142
143
	/**
144
	 * @param FederatedEvent $federatedEvent
145
	 */
146
	public function multipleMemberAdding(FederatedEvent $federatedEvent): void {
147
		$event = new AddingCircleMemberEvent($federatedEvent);
148
		$event->setType(CircleGenericEvent::MULTIPLE);
149
		$this->eventDispatcher->dispatchTyped($event);
150
	}
151
152
	/**
153
	 * @param FederatedEvent $federatedEvent
154
	 * @param array $results
155
	 */
156
	public function multipleMemberAdded(FederatedEvent $federatedEvent, array $results): void {
157
		$event = new CircleMemberAddedEvent($federatedEvent, $results);
158
		$event->setType(CircleGenericEvent::MULTIPLE);
159
		$this->eventDispatcher->dispatchTyped($event);
160
	}
161
162
163
	public function memberInvited(Member $member): void {
0 ignored issues
show
Unused Code introduced by
The parameter $member is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
164
	}
165
166
167
	public function memberRequest(Member $member): void {
0 ignored issues
show
Unused Code introduced by
The parameter $member is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
168
	}
169
170
171
	/**
172
	 * @param FederatedEvent $federatedEvent
173
	 */
174
	public function memberJoining(FederatedEvent $federatedEvent): void {
175
		$event = new AddingCircleMemberEvent($federatedEvent);
176
		$event->setType(CircleGenericEvent::JOINED);
177
		$this->eventDispatcher->dispatchTyped($event);
178
	}
179
180
	/**
181
	 * @param FederatedEvent $federatedEvent
182
	 * @param array $results
183
	 */
184
	public function memberJoined(FederatedEvent $federatedEvent, array $results): void {
185
		$event = new CircleMemberAddedEvent($federatedEvent, $results);
186
		$event->setType(CircleGenericEvent::JOINED);
187
		$this->eventDispatcher->dispatchTyped($event);
188
	}
189
190
191
	/**
192
	 * @param FederatedEvent $federatedEvent
193
	 */
194
	public function memberEditing(FederatedEvent $federatedEvent): void {
195
		$event = new EditingCircleMemberEvent($federatedEvent);
196
		$event->setType(CircleGenericEvent::LEVEL);
197
		$this->eventDispatcher->dispatchTyped($event);
198
	}
199
200
	/**
201
	 * @param FederatedEvent $federatedEvent
202
	 * @param array $results
203
	 */
204
	public function memberEdited(FederatedEvent $federatedEvent, array $results): void {
205
		$event = new CircleMemberEditedEvent($federatedEvent, $results);
206
		$event->setType(CircleGenericEvent::LEVEL);
207
		$this->eventDispatcher->dispatchTyped($event);
208
	}
209
210
211
	/**
212
	 * @param FederatedEvent $federatedEvent
213
	 */
214
	public function memberRemoving(FederatedEvent $federatedEvent): void {
215
		$event = new RemovingCircleMemberEvent($federatedEvent);
216
		$event->setType(CircleGenericEvent::REMOVED);
217
		$this->eventDispatcher->dispatchTyped($event);
218
	}
219
220
	/**
221
	 * @param FederatedEvent $federatedEvent
222
	 * @param array $results
223
	 */
224
	public function memberRemoved(FederatedEvent $federatedEvent, array $results): void {
225
		$event = new CircleMemberRemovedEvent($federatedEvent, $results);
226
		$event->setType(CircleGenericEvent::REMOVED);
227
		$this->eventDispatcher->dispatchTyped($event);
228
	}
229
230
231
	/**
232
	 * @param FederatedEvent $federatedEvent
233
	 */
234
	public function memberLeaving(FederatedEvent $federatedEvent): void {
235
		$event = new RemovingCircleMemberEvent($federatedEvent);
236
		$event->setType(CircleGenericEvent::LEFT);
237
		$this->eventDispatcher->dispatchTyped($event);
238
	}
239
240
	/**
241
	 * @param FederatedEvent $federatedEvent
242
	 * @param SimpleDataStore[] $results
243
	 */
244
	public function memberLeft(FederatedEvent $federatedEvent, array $results): void {
245
		$event = new CircleMemberRemovedEvent($federatedEvent, $results);
246
		$event->setType(CircleGenericEvent::LEFT);
247
		$this->eventDispatcher->dispatchTyped($event);
248
	}
249
250
251
	/**
252
	 * @param Membership[] $new
253
	 */
254
	public function membershipsCreated(array $new): void {
255
		$event = new MembershipsCreatedEvent($new);
256
		$this->eventDispatcher->dispatchTyped($event);
257
	}
258
259
260
	/**
261
	 * @param Membership[] $deprecated
262
	 */
263
	public function membershipsRemoved(array $deprecated): void {
264
		$event = new MembershipsRemovedEvent($deprecated);
265
		$this->eventDispatcher->dispatchTyped($event);
266
	}
267
268
269
	/**
270
	 * @param ShareWrapper $wrappedShare
271
	 */
272
	public function shareCreated(ShareWrapper $wrappedShare): void {
0 ignored issues
show
Unused Code introduced by
The parameter $wrappedShare is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
273
//		Circles::shareToCircle(
274
//			$circle->getUniqueId(), 'files', '',
275
//			['id' => $share->getId(), 'share' => $this->shareObjectToArray($share)],
276
//			'\OCA\Circles\Circles\FileSharingBroadcaster'
277
//		);
278
	}
279
280
281
282
283
//	/**
284
//	 * @param FederatedEvent $federatedEvent
285
//	 */
286
//	public function onSharedItemsSyncRequested(FederatedEvent $federatedEvent) {
287
//		$event = new SharedItemsSyncRequestedEvent($federatedEvent);
288
//		$this->eventDispatcher->dispatchTyped($event);
289
//	}
290
291
}
292
293