Code Duplication    Length = 22-23 lines in 3 locations

lib/Service/CardService.php 3 locations

@@ 216-237 (lines=22) @@
213
	 * @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
214
	 * @throws BadRequestException
215
	 */
216
	public function delete($id) {
217
218
		if (is_numeric($id) === false) {
219
			throw new BadRequestException('card id must be a number');
220
		}
221
222
		$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
223
		if ($this->boardService->isArchived($this->cardMapper, $id)) {
224
			throw new StatusException('Operation not allowed. This board is archived.');
225
		}
226
		$card = $this->cardMapper->find($id);
227
		$card->setDeletedAt(time());
228
		$this->cardMapper->update($card);
229
		$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_CARD_DELETE);
230
		$this->changeHelper->cardChanged($card->getId(), false);
231
232
		$this->eventDispatcher->dispatch(
233
			'\OCA\Deck\Card::onDelete', new GenericEvent(null, ['id' => $id, 'card' => $card])
234
		);
235
236
		return $card;
237
	}
238
239
	/**
240
	 * @param $id
@@ 446-468 (lines=23) @@
443
	 * @throws \OCP\AppFramework\Db\
444
	 * @throws BadRequestException
445
	 */
446
	public function archive($id) {
447
448
		if (is_numeric($id) === false) {
449
			throw new BadRequestException('id must be a number');
450
		}
451
452
		$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
453
		if ($this->boardService->isArchived($this->cardMapper, $id)) {
454
			throw new StatusException('Operation not allowed. This board is archived.');
455
		}
456
		$card = $this->cardMapper->find($id);
457
		$card->setArchived(true);
458
		$newCard = $this->cardMapper->update($card);
459
		$this->notificationHelper->markDuedateAsRead($card);
460
		$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_ARCHIVE);
461
		$this->changeHelper->cardChanged($id, false);
462
463
		$this->eventDispatcher->dispatch(
464
			'\OCA\Deck\Card::onUpdate', new GenericEvent(null, ['id' => $id, 'card' => $card])
465
		);
466
467
		return $newCard;
468
	}
469
470
	/**
471
	 * @param $id
@@ 479-500 (lines=22) @@
476
	 * @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
477
	 * @throws BadRequestException
478
	 */
479
	public function unarchive($id) {
480
481
		if (is_numeric($id) === false) {
482
			throw new BadRequestException('id must be a number');
483
		}
484
485
		$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
486
		if ($this->boardService->isArchived($this->cardMapper, $id)) {
487
			throw new StatusException('Operation not allowed. This board is archived.');
488
		}
489
		$card = $this->cardMapper->find($id);
490
		$card->setArchived(false);
491
		$newCard = $this->cardMapper->update($card);
492
		$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_UNARCHIVE);
493
		$this->changeHelper->cardChanged($id, false);
494
495
		$this->eventDispatcher->dispatch(
496
			'\OCA\Deck\Card::onUpdate', new GenericEvent(null, ['id' => $id, 'card' => $card])
497
		);
498
499
		return $newCard;
500
	}
501
502
	/**
503
	 * @param $cardId