Browse Source

Move to single share event. Just emit more if needed

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
tags/v21.0.0beta3
Roeland Jago Douma 3 years ago
parent
commit
bb411c75c6
No account linked to committer's email address
2 changed files with 3 additions and 22 deletions
  1. 2
    1
      lib/private/Share20/Manager.php
  2. 1
    21
      lib/public/Share/Events/ShareDeletedEvent.php

+ 2
- 1
lib/private/Share20/Manager.php View File

$deletedShares = array_merge($deletedShares, $deletedChildren); $deletedShares = array_merge($deletedShares, $deletedChildren);


$provider->delete($child); $provider->delete($child);
$this->dispatcher->dispatchTyped(new Share\Events\ShareDeletedEvent($child));
$deletedShares[] = $child; $deletedShares[] = $child;
} }


$provider = $this->factory->getProviderForType($share->getShareType()); $provider = $this->factory->getProviderForType($share->getShareType());
$provider->delete($share); $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 // All the deleted shares caused by this delete
$deletedShares[] = $share; $deletedShares[] = $share;

+ 1
- 21
lib/public/Share/Events/ShareDeletedEvent.php View File

/** @var IShare */ /** @var IShare */
private $share; private $share;


/** @var IShare[] */
private $children;

/** /**
* *
* @param IShare $share * @param IShare $share
* *
* @since 21.0.0 * @since 21.0.0
*/ */
public function __construct(IShare $share, array $children = []) {
public function __construct(IShare $share) {
parent::__construct(); parent::__construct();


$this->share = $share; $this->share = $share;
$this->children = $children;
} }


/** /**
public function getShare(): IShare { public function getShare(): IShare {
return $this->share; 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);
}
} }

Loading…
Cancel
Save