summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
authorDariusz Olszewski <starypatyk@users.noreply.github.com>2022-10-07 23:24:12 +0200
committerDariusz Olszewski <starypatyk@users.noreply.github.com>2022-10-07 23:24:12 +0200
commit255d1dd68644f02739dd4bbf377893ecdb9b8629 (patch)
tree9dcd4bc3bb33ed1d1586dc1499d701807bd689f6 /apps/dav
parent63474360a8270c98528665129ba0f85d8c2ea354 (diff)
downloadnextcloud-server-255d1dd68644f02739dd4bbf377893ecdb9b8629.tar.gz
nextcloud-server-255d1dd68644f02739dd4bbf377893ecdb9b8629.zip
Read notes from share already loaded into memory
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
Diffstat (limited to 'apps/dav')
-rw-r--r--apps/dav/lib/Connector/Sabre/Node.php26
1 files changed, 11 insertions, 15 deletions
diff --git a/apps/dav/lib/Connector/Sabre/Node.php b/apps/dav/lib/Connector/Sabre/Node.php
index 5fb811ad1ab..e1cbdeac7e0 100644
--- a/apps/dav/lib/Connector/Sabre/Node.php
+++ b/apps/dav/lib/Connector/Sabre/Node.php
@@ -355,23 +355,19 @@ abstract class Node implements \Sabre\DAV\INode {
return '';
}
- $types = [
- IShare::TYPE_USER,
- IShare::TYPE_GROUP,
- IShare::TYPE_CIRCLE,
- IShare::TYPE_ROOM
- ];
-
- foreach ($types as $shareType) {
- $shares = $this->shareManager->getSharedWith($user, $shareType, $this, -1);
- foreach ($shares as $share) {
- $note = $share->getNote();
- if ($share->getShareOwner() !== $user && !empty($note)) {
- return $note;
- }
- }
+ // Retrieve note from the share object already loaded into
+ // memory, to avoid additional database queries.
+ $storage = $this->getNode()->getStorage();
+ if (!$storage->instanceOfStorage(\OCA\Files_Sharing\SharedStorage::class)) {
+ return '';
}
+ /** @var \OCA\Files_Sharing\SharedStorage $storage */
+ $share = $storage->getShare();
+ $note = $share->getNote();
+ if ($share->getShareOwner() !== $user && !empty($note)) {
+ return $note;
+ }
return '';
}