aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/Node/Node.php
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2023-08-14 21:12:12 +0200
committerRobin Appelman <robin@icewind.nl>2023-09-04 18:42:49 +0200
commit9055fef5eff14b74c1ecf4399ed4031f01edc044 (patch)
treede903e91ccc6f22de0c9f4e27b8ab169238661c9 /lib/private/Files/Node/Node.php
parente718cbc6617ad83eda9274c59bb66c3b8f147796 (diff)
downloadnextcloud-server-9055fef5eff14b74c1ecf4399ed4031f01edc044.tar.gz
nextcloud-server-9055fef5eff14b74c1ecf4399ed4031f01edc044.zip
add IFileInfo::getParentId
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'lib/private/Files/Node/Node.php')
-rw-r--r--lib/private/Files/Node/Node.php15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/private/Files/Node/Node.php b/lib/private/Files/Node/Node.php
index 0318ae47784..bc96a116da7 100644
--- a/lib/private/Files/Node/Node.php
+++ b/lib/private/Files/Node/Node.php
@@ -59,10 +59,7 @@ class Node implements INode {
protected ?FileInfo $fileInfo;
- /**
- * @var Node|null
- */
- protected $parent;
+ protected ?INode $parent;
private bool $infoHasSubMountsIncluded;
@@ -300,13 +297,13 @@ class Node implements INode {
return $this->root;
}
+ // gather the metadata we already know about our parent
$parentData = [
'path' => $newPath,
+ 'fileid' => $this->getFileInfo()->getParentId(),
];
- if ($this->fileInfo instanceof \OC\Files\FileInfo && isset($this->fileInfo['parent'])) {
- $parentData['fileid'] = $this->fileInfo['parent'];
- }
+ // and create lazy folder with it instead of always querying
$this->parent = new LazyFolder(function () use ($newPath) {
return $this->root->get($newPath);
}, $parentData);
@@ -486,4 +483,8 @@ class Node implements INode {
public function getUploadTime(): int {
return $this->getFileInfo()->getUploadTime();
}
+
+ public function getParentId(): int {
+ return $this->fileInfo->getParentId();
+ }
}