@ -40,6 +40,7 @@ use OC\Files\Utils\PathHelper;
use OCP\Files\Cache\ICacheEntry ;
use OCP\Files\FileInfo ;
use OCP\Files\Mount\IMountPoint ;
use OCP\Files\Node as INode ;
use OCP\Files\NotFoundException ;
use OCP\Files\NotPermittedException ;
use OCP\Files\Search\ISearchBinaryOperator ;
@ -109,12 +110,7 @@ class Folder extends Node implements \OCP\Files\Folder {
}, $folderContent );
}
/**
* @ param string $path
* @ param FileInfo $info
* @ return File | Folder
*/
protected function createNode ( $path , FileInfo $info = null , bool $infoHasSubMountsIncluded = true ) {
protected function createNode ( string $path , ? FileInfo $info = null , bool $infoHasSubMountsIncluded = true ) : INode {
if ( is_null ( $info )) {
$isDir = $this -> view -> is_dir ( $path );
} else {
@ -330,6 +326,12 @@ class Folder extends Node implements \OCP\Files\Folder {
* @ return array
*/
protected function getByIdInRootMount ( int $id ) : array {
if ( ! method_exists ( $this -> root , 'createNode' )) {
// Always expected to be false. Being a method of Folder, this is
// always implemented. For it is an internal method and should not
// be exposed and made public, it is not part of an interface.
return [];
}
$mount = $this -> root -> getMount ( '' );
$storage = $mount -> getStorage ();
$cacheEntry = $storage ? -> getCache ( $this -> path ) -> get ( $id );
@ -385,7 +387,7 @@ class Folder extends Node implements \OCP\Files\Folder {
/**
* @ param int $limit
* @ param int $offset
* @ return \OCP\Files\ Node[]
* @ return I Node[]
*/
public function getRecent ( $limit , $offset = 0 ) {
$filterOutNonEmptyFolder = new SearchBinaryOperator (