Skip to content

Commit

Permalink
fix: fixed retrieval of a node in a groupfolder by getById() when exe…
Browse files Browse the repository at this point in the history
…cuted on IRootFolder instead of user folder and multiple users with a mountpoint for the groupfolder are existing (#2)
  • Loading branch information
ZeiTee authored Feb 8, 2024
1 parent 1f5c618 commit 9ef9b20
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions lib/Flow/Operation.php
Original file line number Diff line number Diff line change
Expand Up @@ -137,14 +137,18 @@ private function createContext(string $eventName, Event $event): ?Context {
* @var Node|null $oldNode
* @var Node $node
*/

$user = $this->session->getUser();
$rootFolder = $user ? $this->rootFolder->getUserFolder($user->getUID()) : $this->rootFolder;

$oldNode = null;
if ($eventName === '\OCP\Files::postRename' || $eventName === '\OCP\Files::postCopy') {
[$oldNode, $node] = $event->getSubject();
} elseif ($event instanceof MapperEvent) {
if ($event->getObjectType() !== 'files') {
return null;
}
$nodes = $this->rootFolder->getById($event->getObjectId());
$nodes = $rootFolder->getById($event->getObjectId());
if (!isset($nodes[0])) {
return null;
}
Expand All @@ -161,11 +165,7 @@ private function createContext(string $eventName, Event $event): ?Context {
]);

try {
$user = $this->session->getUser();
$rootFolder = $user ? $this->rootFolder->getUserFolder($user->getUID()) : $this->rootFolder;

$inputs = [$oldNodeInput];
return $this->contextFactory->createContextForUser($user->getUID(), $inputs, [$rootFolder->getRelativePath($node->getPath())]);
return $this->contextFactory->createContextForUser($user->getUID(), [$oldNodeInput], [$rootFolder->getRelativePath($node->getPath())]);
} catch (Throwable $e) {
$this->logger->info('Could not create context due to unexpected exception.', ['error_message' => $e->getMessage()]);
}
Expand Down

0 comments on commit 9ef9b20

Please sign in to comment.