Completed
Pull Request — master (#621)
by Maxence
02:51 queued 17s
created

EventService::memberEdited()   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 2
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\CircleEditedEvent;
43
use OCA\Circles\Events\CircleGenericEvent;
44
use OCA\Circles\Events\CircleMemberAddedEvent;
45
use OCA\Circles\Events\CircleMemberEditedEvent;
46
use OCA\Circles\Events\CircleMemberRemovedEvent;
47
use OCA\Circles\Events\CircleMemberRequestedEvent;
48
use OCA\Circles\Events\CreatingCircleEvent;
49
use OCA\Circles\Events\DestroyingCircleEvent;
50
use OCA\Circles\Events\EditingCircleEvent;
51
use OCA\Circles\Events\EditingCircleMemberEvent;
52
use OCA\Circles\Events\MembershipsCreatedEvent;
53
use OCA\Circles\Events\MembershipsRemovedEvent;
54
use OCA\Circles\Events\RemovingCircleMemberEvent;
55
use OCA\Circles\Events\RequestingCircleMemberEvent;
56
use OCA\Circles\Model\Federated\FederatedEvent;
57
use OCA\Circles\Model\Membership;
58
use OCA\Circles\Model\Mount;
59
use OCA\Circles\Model\ShareWrapper;
60
use OCP\EventDispatcher\IEventDispatcher;
61
62
63
/**
64
 * Class EventService
65
 *
66
 * @package OCA\Circles\Service
67
 */
68
class EventService {
69
70
71
	/** @var IEventDispatcher */
72
	private $eventDispatcher;
73
74
75
	/**
76
	 * EventService constructor.
77
	 *
78
	 * @param IEventDispatcher $eventDispatcher
79
	 */
80
	public function __construct(IEventDispatcher $eventDispatcher) {
81
		$this->eventDispatcher = $eventDispatcher;
82
	}
83
84
85
	/**
86
	 * @param FederatedEvent $federatedEvent
87
	 */
88
	public function circleCreating(FederatedEvent $federatedEvent): void {
89
		$event = new CreatingCircleEvent($federatedEvent);
90
		$this->eventDispatcher->dispatchTyped($event);
91
	}
92
93
	/**
94
	 * @param FederatedEvent $federatedEvent
95
	 * @param array $results
96
	 */
97
	public function circleCreated(FederatedEvent $federatedEvent, array $results): void {
98
		$event = new CircleCreatedEvent($federatedEvent, $results);
99
		$this->eventDispatcher->dispatchTyped($event);
100
	}
101
102
103
	/**
104
	 * @param FederatedEvent $federatedEvent
105
	 */
106
	public function circleEditing(FederatedEvent $federatedEvent): void {
107
		$event = new EditingCircleEvent($federatedEvent);
108
		$this->eventDispatcher->dispatchTyped($event);
109
	}
110
111
	/**
112
	 * @param FederatedEvent $federatedEvent
113
	 * @param array $results
114
	 */
115
	public function circleEdited(FederatedEvent $federatedEvent, array $results): void {
116
		$event = new CircleEditedEvent($federatedEvent, $results);
117
		$this->eventDispatcher->dispatchTyped($event);
118
	}
119
120
121
	/**
122
	 * @param FederatedEvent $federatedEvent
123
	 */
124
	public function circleDestroying(FederatedEvent $federatedEvent): void {
125
		$event = new DestroyingCircleEvent($federatedEvent);
126
		$this->eventDispatcher->dispatchTyped($event);
127
	}
128
129
	/**
130
	 * @param FederatedEvent $federatedEvent
131
	 * @param array $results
132
	 */
133
	public function circleDestroyed(FederatedEvent $federatedEvent, array $results): void {
134
		$event = new CircleDestroyedEvent($federatedEvent, $results);
135
		$this->eventDispatcher->dispatchTyped($event);
136
	}
137
138
139
	/**
140
	 * @param FederatedEvent $federatedEvent
141
	 */
142
	public function memberAdding(FederatedEvent $federatedEvent): void {
143
		$event = new AddingCircleMemberEvent($federatedEvent);
144
		$event->setType(CircleGenericEvent::INVITED);
145
		$this->eventDispatcher->dispatchTyped($event);
146
	}
147
148
	/**
149
	 * @param FederatedEvent $federatedEvent
150
	 * @param array $results
151
	 */
152
	public function memberAdded(FederatedEvent $federatedEvent, array $results): void {
153
		$event = new CircleMemberAddedEvent($federatedEvent, $results);
154
		$event->setType(CircleGenericEvent::INVITED);
155
		$this->eventDispatcher->dispatchTyped($event);
156
	}
157
158
159
	/**
160
	 * @deprecated
161
	 * @param FederatedEvent $federatedEvent
162
	 */
163
	public function multipleMemberAdding(FederatedEvent $federatedEvent): void {
164
		$event = new AddingCircleMemberEvent($federatedEvent);
165
		$event->setType(CircleGenericEvent::MULTIPLE);
0 ignored issues
show
Deprecated Code introduced by
The constant OCA\Circles\Events\CircleGenericEvent::MULTIPLE has been deprecated.

This class constant has been deprecated.

Loading history...
166
		$this->eventDispatcher->dispatchTyped($event);
167
	}
168
169
	/**
170
	 * @deprecated
171
	 * @param FederatedEvent $federatedEvent
172
	 * @param array $results
173
	 */
174
	public function multipleMemberAdded(FederatedEvent $federatedEvent, array $results): void {
175
		$event = new CircleMemberAddedEvent($federatedEvent, $results);
176
		$event->setType(CircleGenericEvent::MULTIPLE);
0 ignored issues
show
Deprecated Code introduced by
The constant OCA\Circles\Events\CircleGenericEvent::MULTIPLE has been deprecated.

This class constant has been deprecated.

Loading history...
177
		$this->eventDispatcher->dispatchTyped($event);
178
	}
179
180
181
	/**
182
	 * @param FederatedEvent $federatedEvent
183
	 */
184
	public function memberInviting(FederatedEvent $federatedEvent): void {
185
		$event = new RequestingCircleMemberEvent($federatedEvent);
186
		$event->setType(CircleGenericEvent::INVITED);
187
		$this->eventDispatcher->dispatchTyped($event);
188
	}
189
190
	/**
191
	 * @param FederatedEvent $federatedEvent
192
	 * @param array $results
193
	 */
194
	public function memberInvited(FederatedEvent $federatedEvent, array $results): void {
195
		$event = new CircleMemberRequestedEvent($federatedEvent, $results);
196
		$event->setType(CircleGenericEvent::INVITED);
197
		$this->eventDispatcher->dispatchTyped($event);
198
	}
199
200
201
	/**
202
	 * @param FederatedEvent $federatedEvent
203
	 */
204
	public function memberRequesting(FederatedEvent $federatedEvent): void {
205
		$event = new RequestingCircleMemberEvent($federatedEvent);
206
		$event->setType(CircleGenericEvent::REQUESTED);
207
		$this->eventDispatcher->dispatchTyped($event);
208
	}
209
210
	/**
211
	 * @param FederatedEvent $federatedEvent
212
	 * @param array $results
213
	 */
214
	public function memberRequested(FederatedEvent $federatedEvent, array $results): void {
215
		$event = new CircleMemberRequestedEvent($federatedEvent, $results);
216
		$event->setType(CircleGenericEvent::REQUESTED);
217
		$this->eventDispatcher->dispatchTyped($event);
218
	}
219
220
221
	/**
222
	 * @param FederatedEvent $federatedEvent
223
	 */
224
	public function memberJoining(FederatedEvent $federatedEvent): void {
225
		$event = new AddingCircleMemberEvent($federatedEvent);
226
		$event->setType(CircleGenericEvent::JOINED);
227
		$this->eventDispatcher->dispatchTyped($event);
228
	}
229
230
	/**
231
	 * @param FederatedEvent $federatedEvent
232
	 * @param array $results
233
	 */
234
	public function memberJoined(FederatedEvent $federatedEvent, array $results): void {
235
		$event = new CircleMemberAddedEvent($federatedEvent, $results);
236
		$event->setType(CircleGenericEvent::JOINED);
237
		$this->eventDispatcher->dispatchTyped($event);
238
	}
239
240
241
	/**
242
	 * @param FederatedEvent $federatedEvent
243
	 */
244 View Code Duplication
	public function memberLevelEditing(FederatedEvent $federatedEvent): void {
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
245
		$event = new EditingCircleMemberEvent($federatedEvent);
246
		$event->setLevel($federatedEvent->getData()->gInt('level'));
247
		$event->setType(CircleGenericEvent::LEVEL);
248
		$this->eventDispatcher->dispatchTyped($event);
249
	}
250
251
	/**
252
	 * @param FederatedEvent $federatedEvent
253
	 * @param array $results
254
	 */
255 View Code Duplication
	public function memberLevelEdited(FederatedEvent $federatedEvent, array $results): void {
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
256
		$event = new CircleMemberEditedEvent($federatedEvent, $results);
257
		$event->setNewLevel($federatedEvent->getData()->gInt('level'));
258
		$event->setType(CircleGenericEvent::LEVEL);
259
		$this->eventDispatcher->dispatchTyped($event);
260
	}
261
262
263
	/**
264
	 * @param FederatedEvent $federatedEvent
265
	 */
266 View Code Duplication
	public function memberNameEditing(FederatedEvent $federatedEvent): void {
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
267
		$event = new EditingCircleMemberEvent($federatedEvent);
268
		$event->setDisplayName($federatedEvent->getData()->g('displayName'));
269
		$event->setType(CircleGenericEvent::NAME);
270
		$this->eventDispatcher->dispatchTyped($event);
271
	}
272
273
	/**
274
	 * @param FederatedEvent $federatedEvent
275
	 * @param array $results
276
	 */
277 View Code Duplication
	public function memberNameEdited(FederatedEvent $federatedEvent, array $results): void {
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
278
		$event = new CircleMemberEditedEvent($federatedEvent, $results);
279
		$event->setNewDisplayName($federatedEvent->getData()->g('displayName'));
280
		$event->setType(CircleGenericEvent::NAME);
281
		$this->eventDispatcher->dispatchTyped($event);
282
	}
283
284
285
	/**
286
	 * @param FederatedEvent $federatedEvent
287
	 */
288
	public function memberRemoving(FederatedEvent $federatedEvent): void {
289
		$event = new RemovingCircleMemberEvent($federatedEvent);
290
		$event->setType(CircleGenericEvent::REMOVED);
291
		$this->eventDispatcher->dispatchTyped($event);
292
	}
293
294
	/**
295
	 * @param FederatedEvent $federatedEvent
296
	 * @param array $results
297
	 */
298
	public function memberRemoved(FederatedEvent $federatedEvent, array $results): void {
299
		$event = new CircleMemberRemovedEvent($federatedEvent, $results);
300
		$event->setType(CircleGenericEvent::REMOVED);
301
		$this->eventDispatcher->dispatchTyped($event);
302
	}
303
304
305
	/**
306
	 * @param FederatedEvent $federatedEvent
307
	 */
308
	public function memberLeaving(FederatedEvent $federatedEvent): void {
309
		$event = new RemovingCircleMemberEvent($federatedEvent);
310
		$event->setType(CircleGenericEvent::LEFT);
311
		$this->eventDispatcher->dispatchTyped($event);
312
	}
313
314
	/**
315
	 * @param FederatedEvent $federatedEvent
316
	 * @param SimpleDataStore[] $results
317
	 */
318
	public function memberLeft(FederatedEvent $federatedEvent, array $results): void {
319
		$event = new CircleMemberRemovedEvent($federatedEvent, $results);
320
		$event->setType(CircleGenericEvent::LEFT);
321
		$this->eventDispatcher->dispatchTyped($event);
322
	}
323
324
325
	/**
326
	 * @param Membership[] $new
327
	 */
328
	public function membershipsCreated(array $new): void {
329
		$event = new MembershipsCreatedEvent($new);
330
		$this->eventDispatcher->dispatchTyped($event);
331
	}
332
333
334
	/**
335
	 * @param Membership[] $deprecated
336
	 */
337
	public function membershipsRemoved(array $deprecated): void {
338
		$event = new MembershipsRemovedEvent($deprecated);
339
		$this->eventDispatcher->dispatchTyped($event);
340
	}
341
342
343
	/**
344
	 * @param ShareWrapper $wrappedShare
345
	 */
346
	public function localShareCreated(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...
347
	}
348
349
	/**
350
	 * @param ShareWrapper $wrappedShare
351
	 */
352
	public function federatedShareCreated(ShareWrapper $wrappedShare, Mount $mount): 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...
Unused Code introduced by
The parameter $mount 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...
353
//		Circles::shareToCircle(
354
//			$circle->getUniqueId(), 'files', '',
355
//			['id' => $share->getId(), 'share' => $this->shareObjectToArray($share)],
356
//			'\OCA\Circles\Circles\FileSharingBroadcaster'
357
//		);
358
	}
359
360
361
	/**
362
	 * @param ShareWrapper $wrappedShare
363
	 */
364
	public function localShareDeleted(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...
365
	}
366
367
	/**
368
	 * @param ShareWrapper $wrappedShare
369
	 */
370
	public function federatedShareDeleted(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...
371
	}
372
373
374
375
//	/**
376
//	 * @param FederatedEvent $federatedEvent
377
//	 */
378
//	public function onSharedItemsSyncRequested(FederatedEvent $federatedEvent) {
379
//		$event = new SharedItemsSyncRequestedEvent($federatedEvent);
380
//		$this->eventDispatcher->dispatchTyped($event);
381
//	}
382
383
}
384
385