Merge pull request #25912 from nextcloud/techdept/psalm/sharedstorage_some_types
Add some typing to SharedStorage
This commit is contained in:
commit
cdc9a1efd9
|
@ -45,6 +45,7 @@ use OCP\Files\NotFoundException;
|
|||
use OCP\Files\Storage\IDisableEncryptionStorage;
|
||||
use OCP\Files\Storage\IStorage;
|
||||
use OCP\Lock\ILockingProvider;
|
||||
use OCP\Share\IShare;
|
||||
|
||||
/**
|
||||
* Convert target path to source path and pass the function call to the correct storage provider
|
||||
|
@ -159,7 +160,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function instanceOfStorage($class) {
|
||||
public function instanceOfStorage($class): bool {
|
||||
if ($class === '\OC\Files\Storage\Common') {
|
||||
return true;
|
||||
}
|
||||
|
@ -176,7 +177,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
return $this->superShare->getId();
|
||||
}
|
||||
|
||||
private function isValid() {
|
||||
private function isValid(): bool {
|
||||
return $this->getSourceRootInfo() && ($this->getSourceRootInfo()->getPermissions() & Constants::PERMISSION_SHARE) === Constants::PERMISSION_SHARE;
|
||||
}
|
||||
|
||||
|
@ -185,7 +186,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getId() {
|
||||
public function getId(): string {
|
||||
return 'shared::' . $this->getMountPoint();
|
||||
}
|
||||
|
||||
|
@ -195,7 +196,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
* @param string $target Shared target file path
|
||||
* @return int CRUDS permissions granted
|
||||
*/
|
||||
public function getPermissions($target = '') {
|
||||
public function getPermissions($target = ''): int {
|
||||
if (!$this->isValid()) {
|
||||
return 0;
|
||||
}
|
||||
|
@ -213,11 +214,11 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
return $permissions;
|
||||
}
|
||||
|
||||
public function isCreatable($path) {
|
||||
return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_CREATE);
|
||||
public function isCreatable($path): bool {
|
||||
return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_CREATE);
|
||||
}
|
||||
|
||||
public function isReadable($path) {
|
||||
public function isReadable($path): bool {
|
||||
if (!$this->isValid()) {
|
||||
return false;
|
||||
}
|
||||
|
@ -230,19 +231,19 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
return $storage->isReadable($internalPath);
|
||||
}
|
||||
|
||||
public function isUpdatable($path) {
|
||||
return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_UPDATE);
|
||||
public function isUpdatable($path): bool {
|
||||
return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_UPDATE);
|
||||
}
|
||||
|
||||
public function isDeletable($path) {
|
||||
return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_DELETE);
|
||||
public function isDeletable($path): bool {
|
||||
return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_DELETE);
|
||||
}
|
||||
|
||||
public function isSharable($path) {
|
||||
public function isSharable($path): bool {
|
||||
if (\OCP\Util::isSharingDisabledForUser() || !\OC\Share\Share::isResharingAllowed()) {
|
||||
return false;
|
||||
}
|
||||
return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_SHARE);
|
||||
return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_SHARE);
|
||||
}
|
||||
|
||||
public function fopen($path, $mode) {
|
||||
|
@ -304,7 +305,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
* @param string $path2
|
||||
* @return bool
|
||||
*/
|
||||
public function rename($path1, $path2) {
|
||||
public function rename($path1, $path2): bool {
|
||||
$this->init();
|
||||
$isPartFile = pathinfo($path1, PATHINFO_EXTENSION) === 'part';
|
||||
$targetExists = $this->file_exists($path2);
|
||||
|
@ -328,14 +329,14 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getMountPoint() {
|
||||
public function getMountPoint(): string {
|
||||
return $this->superShare->getTarget();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $path
|
||||
*/
|
||||
public function setMountPoint($path) {
|
||||
public function setMountPoint($path): void {
|
||||
$this->superShare->setTarget($path);
|
||||
|
||||
foreach ($this->groupedShares as $share) {
|
||||
|
@ -348,14 +349,14 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getSharedFrom() {
|
||||
public function getSharedFrom(): string {
|
||||
return $this->superShare->getShareOwner();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \OCP\Share\IShare
|
||||
*/
|
||||
public function getShare() {
|
||||
public function getShare(): IShare {
|
||||
return $this->superShare;
|
||||
}
|
||||
|
||||
|
@ -364,7 +365,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getItemType() {
|
||||
public function getItemType(): string {
|
||||
return $this->superShare->getNodeType();
|
||||
}
|
||||
|
||||
|
@ -396,11 +397,11 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
return new \OCA\Files_Sharing\Scanner($storage);
|
||||
}
|
||||
|
||||
public function getOwner($path) {
|
||||
public function getOwner($path): string {
|
||||
return $this->superShare->getShareOwner();
|
||||
}
|
||||
|
||||
public function getWatcher($path = '', $storage = null) {
|
||||
public function getWatcher($path = '', $storage = null): NullWatcher {
|
||||
// cache updating is handled by the share source
|
||||
return new NullWatcher();
|
||||
}
|
||||
|
@ -410,7 +411,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
|
|||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function unshareStorage() {
|
||||
public function unshareStorage(): bool {
|
||||
foreach ($this->groupedShares as $share) {
|
||||
\OC::$server->getShareManager()->deleteFromSelf($share, $this->user);
|
||||
}
|
||||
|
|
|
@ -197,11 +197,10 @@ class ScannerTest extends \Test\TestCase {
|
|||
$sharedMount = new MountPoint($sharedStorage, '/share');
|
||||
Filesystem::getMountManager()->addMount($sharedMount);
|
||||
|
||||
$sharedStorage->expects($this->any())
|
||||
->method('instanceOfStorage')
|
||||
->willReturnMap([
|
||||
[SharedStorage::class, true],
|
||||
]);
|
||||
$sharedStorage->method('instanceOfStorage')
|
||||
->willReturnCallback(function (string $c) {
|
||||
return $c === SharedStorage::class;
|
||||
});
|
||||
$sharedStorage->expects($this->never())
|
||||
->method('getScanner');
|
||||
|
||||
|
|
Loading…
Reference in New Issue