diff options
author | Côme Chilliet <come.chilliet@nextcloud.com> | 2022-08-29 10:37:08 +0200 |
---|---|---|
committer | Côme Chilliet <come.chilliet@nextcloud.com> | 2022-08-29 13:55:08 +0200 |
commit | b3cd9b557358a3aa506d7ad24883650d4449bb8c (patch) | |
tree | 8755c47a3fd92ea7a7444675dad8b591622d0cdf /apps/dav | |
parent | e34f2c4799b271ac1b1c412af4bf2fa1f6279359 (diff) | |
download | nextcloud-server-b3cd9b557358a3aa506d7ad24883650d4449bb8c.tar.gz nextcloud-server-b3cd9b557358a3aa506d7ad24883650d4449bb8c.zip |
Move Dav fileid and permissions logic into OCP\Util to be able to use it for BulkUpload
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps/dav')
-rw-r--r-- | apps/dav/lib/BulkUpload/BulkUploadPlugin.php | 17 | ||||
-rw-r--r-- | apps/dav/lib/Connector/Sabre/Node.php | 36 | ||||
-rw-r--r-- | apps/dav/lib/Server.php | 5 |
3 files changed, 15 insertions, 43 deletions
diff --git a/apps/dav/lib/BulkUpload/BulkUploadPlugin.php b/apps/dav/lib/BulkUpload/BulkUploadPlugin.php index 79a1561ef5b..b5400ec58d2 100644 --- a/apps/dav/lib/BulkUpload/BulkUploadPlugin.php +++ b/apps/dav/lib/BulkUpload/BulkUploadPlugin.php @@ -33,14 +33,13 @@ use OCP\AppFramework\Http; use OCA\DAV\Connector\Sabre\MtimeSanitizer; class BulkUploadPlugin extends ServerPlugin { + private Folder $userFolder; + private LoggerInterface $logger; - /** @var Folder */ - private $userFolder; - - /** @var LoggerInterface */ - private $logger; - - public function __construct(Folder $userFolder, LoggerInterface $logger) { + public function __construct( + Folder $userFolder, + LoggerInterface $logger + ) { $this->userFolder = $userFolder; $this->logger = $logger; } @@ -96,8 +95,8 @@ class BulkUploadPlugin extends ServerPlugin { $writtenFiles[$headers['x-file-path']] = [ "error" => false, "etag" => $node->getETag(), - "fileid" => $node->getFileId(), - "permissions" => $node->getDavPermissions(), + "fileid" => \OCP\Util::getDavFileId($node->getId()), + "permissions" => \OCP\Util::getDavPermissions($node), ]; } catch (\Exception $e) { $this->logger->error($e->getMessage(), ['path' => $headers['x-file-path']]); diff --git a/apps/dav/lib/Connector/Sabre/Node.php b/apps/dav/lib/Connector/Sabre/Node.php index 87f2fea394f..c4fc6282f84 100644 --- a/apps/dav/lib/Connector/Sabre/Node.php +++ b/apps/dav/lib/Connector/Sabre/Node.php @@ -252,10 +252,8 @@ abstract class Node implements \Sabre\DAV\INode { * @return string|null */ public function getFileId() { - if ($this->info->getId()) { - $instanceId = \OC_Util::getInstanceId(); - $id = sprintf('%08d', $this->info->getId()); - return $id . $instanceId; + if ($id = $this->info->getId()) { + return \OCP\Util::getDavFileId($id); } return null; @@ -381,35 +379,7 @@ abstract class Node implements \Sabre\DAV\INode { * @return string */ public function getDavPermissions() { - $p = ''; - if ($this->info->isShared()) { - $p .= 'S'; - } - if ($this->info->isShareable()) { - $p .= 'R'; - } - if ($this->info->isMounted()) { - $p .= 'M'; - } - if ($this->info->isReadable()) { - $p .= 'G'; - } - if ($this->info->isDeletable()) { - $p .= 'D'; - } - if ($this->info->isUpdateable()) { - $p .= 'NV'; // Renameable, Moveable - } - if ($this->info->getType() === \OCP\Files\FileInfo::TYPE_FILE) { - if ($this->info->isUpdateable()) { - $p .= 'W'; - } - } else { - if ($this->info->isCreatable()) { - $p .= 'CK'; - } - } - return $p; + return \OCP\Util::getDavPermissions($this->info); } public function getOwner() { diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php index 2cfcb3f5393..f98dba22925 100644 --- a/apps/dav/lib/Server.php +++ b/apps/dav/lib/Server.php @@ -313,7 +313,10 @@ class Server { $view )); $this->server->addPlugin( - new BulkUploadPlugin($userFolder, $logger) + new BulkUploadPlugin( + $userFolder, + $logger + ) ); } $this->server->addPlugin(new \OCA\DAV\CalDAV\BirthdayCalendar\EnablePlugin( |