diff options
author | Sean Molenaar <sean@seanmolenaar.eu> | 2020-09-28 21:07:24 +0200 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2020-09-29 13:02:03 +0200 |
commit | bc01761221384c0bbac0297d38e85bcaa6286a9a (patch) | |
tree | bea5acc2db33186982ba94a4270c9eb277c8f0b3 /lib/Hooks/UserDeleteHook.php | |
parent | d00d1ab2a28f428223e52b17052c072c64784016 (diff) |
Fix repair step and test it
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Diffstat (limited to 'lib/Hooks/UserDeleteHook.php')
-rw-r--r-- | lib/Hooks/UserDeleteHook.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/Hooks/UserDeleteHook.php b/lib/Hooks/UserDeleteHook.php new file mode 100644 index 000000000..491f84fcb --- /dev/null +++ b/lib/Hooks/UserDeleteHook.php @@ -0,0 +1,44 @@ +<?php +/** + * Nextcloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Alessandro Cosentino <cosenal@gmail.com> + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright 2012 Alessandro Cosentino + * @copyright 2012-2014 Bernhard Posselt + */ + +namespace OCA\News\Hooks; + +use OCA\News\AppInfo\Application; +use OCA\News\Service\ItemService; +use OCA\News\Service\FeedService; +use OCA\News\Service\FolderService; +use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IEventListener; +use OCP\User\Events\BeforeUserDeletedEvent; + +class UserDeleteHook implements IEventListener +{ + + /** + * Handle user deletion + * + * @param BeforeUserDeletedEvent $event + */ + public function handle(Event $event): void + { + $userId = $event->getUser()->getUID(); + + $app = new Application(); + $container = $app->getContainer(); + + // order is important! + $container->get(ItemService::class)->deleteUser($userId); + $container->get(FeedService::class)->deleteUser($userId); + $container->get(FolderService::class)->deleteUser($userId); + } +} |