From bb411c75c6a7272f62a8e6b97b92075477694a3c Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Wed, 23 Dec 2020 11:05:29 +0100
Subject: [PATCH] Move to single share event. Just emit more if needed

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 lib/private/Share20/Manager.php               |  3 ++-
 lib/public/Share/Events/ShareDeletedEvent.php | 22 +------------------
 2 files changed, 3 insertions(+), 22 deletions(-)

diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index 427b7b449ec..9a2b413896b 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -1138,6 +1138,7 @@ class Manager implements IManager {
 			$deletedShares = array_merge($deletedShares, $deletedChildren);
 
 			$provider->delete($child);
+			$this->dispatcher->dispatchTyped(new Share\Events\ShareDeletedEvent($child));
 			$deletedShares[] = $child;
 		}
 
@@ -1168,7 +1169,7 @@ class Manager implements IManager {
 		$provider = $this->factory->getProviderForType($share->getShareType());
 		$provider->delete($share);
 
-		$this->dispatcher->dispatchTyped(new Share\Events\ShareDeletedEvent($share, $deletedShares));
+		$this->dispatcher->dispatchTyped(new Share\Events\ShareDeletedEvent($share));
 
 		// All the deleted shares caused by this delete
 		$deletedShares[] = $share;
diff --git a/lib/public/Share/Events/ShareDeletedEvent.php b/lib/public/Share/Events/ShareDeletedEvent.php
index 4db0e6767e6..4dca946aff3 100644
--- a/lib/public/Share/Events/ShareDeletedEvent.php
+++ b/lib/public/Share/Events/ShareDeletedEvent.php
@@ -37,9 +37,6 @@ class ShareDeletedEvent extends Event {
 	/** @var IShare */
 	private $share;
 
-	/** @var IShare[] */
-	private $children;
-
 	/**
 	 *
 	 * @param IShare $share
@@ -47,11 +44,10 @@ class ShareDeletedEvent extends Event {
 	 *
 	 * @since 21.0.0
 	 */
-	public function __construct(IShare $share, array $children = []) {
+	public function __construct(IShare $share) {
 		parent::__construct();
 
 		$this->share = $share;
-		$this->children = $children;
 	}
 
 	/**
@@ -61,20 +57,4 @@ class ShareDeletedEvent extends Event {
 	public function getShare(): IShare {
 		return $this->share;
 	}
-
-	/**
-	 * @return IShare[]
-	 * @since 21.0.0
-	 */
-	public function getChildren(): array {
-		return $this->children;
-	}
-
-	/**
-	 * @return IShare[]
-	 * @since 21.0.0
-	 */
-	public function getAllDeletedShares(): array {
-		return array_merge([$this->share], $this->children);
-	}
 }
-- 
GitLab