mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
optimize isShared and isMounted
Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
parent
dec880b285
commit
f4fa2fb93c
2 changed files with 20 additions and 10 deletions
|
|
@ -33,9 +33,10 @@
|
|||
*/
|
||||
namespace OC\Files;
|
||||
|
||||
use OCA\Files_Sharing\ISharedStorage;
|
||||
use OC\Files\Mount\HomeMountPoint;
|
||||
use OCA\Files_Sharing\External\Mount;
|
||||
use OCA\Files_Sharing\ISharedMountPoint;
|
||||
use OCP\Files\Cache\ICacheEntry;
|
||||
use OCP\Files\IHomeStorage;
|
||||
use OCP\Files\Mount\IMountPoint;
|
||||
use OCP\IUser;
|
||||
|
||||
|
|
@ -312,13 +313,12 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess {
|
|||
* @return bool
|
||||
*/
|
||||
public function isShared() {
|
||||
$storage = $this->getStorage();
|
||||
return $storage->instanceOfStorage(ISharedStorage::class);
|
||||
return $this->mount instanceof ISharedMountPoint;
|
||||
}
|
||||
|
||||
public function isMounted() {
|
||||
$storage = $this->getStorage();
|
||||
return !($storage->instanceOfStorage(IHomeStorage::class) || $storage->instanceOfStorage(ISharedStorage::class));
|
||||
$isHome = $this->mount instanceof HomeMountPoint;
|
||||
return !$isHome && !$this->isShared();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
namespace Test\Files;
|
||||
|
||||
use OC\Files\FileInfo;
|
||||
use OC\Files\Mount\HomeMountPoint;
|
||||
use OC\Files\Mount\MountPoint;
|
||||
use OC\Files\Storage\Home;
|
||||
use OC\Files\Storage\Temporary;
|
||||
use OCP\IConfig;
|
||||
|
|
@ -33,19 +35,27 @@ class FileInfoTest extends TestCase {
|
|||
->willReturn('foo');
|
||||
$user->method('getHome')
|
||||
->willReturn('foo');
|
||||
$storage = new Home(['user' => $user]);
|
||||
|
||||
$fileInfo = new FileInfo(
|
||||
'',
|
||||
new Home(['user' => $user]),
|
||||
'', [], null);
|
||||
$storage,
|
||||
'',
|
||||
[],
|
||||
new HomeMountPoint($user, $storage, '/foo/files')
|
||||
);
|
||||
$this->assertFalse($fileInfo->isMounted());
|
||||
}
|
||||
|
||||
public function testIsMountedNonHomeStorage() {
|
||||
$storage = new Temporary();
|
||||
$fileInfo = new FileInfo(
|
||||
'',
|
||||
new Temporary(),
|
||||
'', [], null);
|
||||
$storage,
|
||||
'',
|
||||
[],
|
||||
new MountPoint($storage, '/foo/files/bar')
|
||||
);
|
||||
$this->assertTrue($fileInfo->isMounted());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue