UserDeletedListener   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Test Coverage

Coverage 88.89%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
c 1
b 0
f 0
dl 0
loc 25
ccs 8
cts 9
cp 0.8889
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handle() 0 10 2
A __construct() 0 5 1
1
<?php
2
declare(strict_types=1);
3
/**
4
 * @copyright Copyright (c) 2020, Matias De lellis <mati86dl@@gmail.com>
5
 *
6
 * @autor Matias De lellis <mati86dl@@gmail.com>
7
 *
8
 * @license GNU AGPL version 3 or any later version
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU Affero General Public License as
12
 * published by the Free Software Foundation, either version 3 of the
13
 * License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU Affero General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU Affero General Public License
21
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
 *
23
 */
24
25
namespace OCA\FaceRecognition\Listener;
26
27
use OCP\EventDispatcher\Event;
28
use OCP\EventDispatcher\IEventListener;
29
use OCP\User\Events\UserDeletedEvent;
30
31
use Psr\Log\LoggerInterface;
32
33
use OCA\FaceRecognition\Service\FaceManagementService;
34
35
36
class UserDeletedListener implements IEventListener {
37
38
	/** @var LoggerInterface $logger */
39
	private $logger;
40
41
	/** @var FaceManagementService */
42
	private $service;
43
44 1
	public function __construct(LoggerInterface       $logger,
45
	                            FaceManagementService $service)
46
	{
47 1
		$this->logger  = $logger;
48 1
		$this->service = $service;
49
	}
50
51 28
	public function handle(Event $event): void {
52 28
		if (!($event instanceof UserDeletedEvent)) {
53
			return;
54
		}
55
56 28
		$userId = $event->getUser()->getUID();
57
58 28
		$this->service->resetAllForUser($userId);
59
60 28
		$this->logger->info("Removed all face recognition data for deleted user " . $userId);
61
	}
62
63
}
64