Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
77.78% covered (warning)
77.78%
7 / 9
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
UserDeletedListener
77.78% covered (warning)
77.78%
7 / 9
50.00% covered (danger)
50.00%
1 / 2
4.18
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 handle
75.00% covered (warning)
75.00%
6 / 8
0.00% covered (danger)
0.00%
0 / 1
3.14
1<?php
2
3declare(strict_types=1);
4/**
5 * SPDX-FileCopyrightText: 2024-2024 LibreCode coop and contributors
6 * SPDX-License-Identifier: AGPL-3.0-or-later
7 */
8
9namespace OCA\Libresign\Listener;
10
11use OCA\Libresign\BackgroundJob\UserDeleted;
12use OCP\BackgroundJob\IJobList;
13use OCP\EventDispatcher\Event;
14use OCP\EventDispatcher\IEventListener;
15use OCP\User\Events\UserDeletedEvent;
16
17/** @template-implements IEventListener<UserDeletedEvent> */
18class UserDeletedListener implements IEventListener {
19    public function __construct(
20        private IJobList $jobList,
21    ) {
22    }
23
24    #[\Override]
25    public function handle(Event $event): void {
26        if (!($event instanceof UserDeletedEvent)) {
27            return;
28        }
29        if (!$event->getUser()->getUID()) {
30            return;
31        }
32
33        $this->jobList->add(UserDeleted::class, [
34            'user_id' => $event->getUser()->getUID(),
35            'display_name' => $event->getUser()->getDisplayName(),
36        ]);
37    }
38}