aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/Storage/PublicOwnerWrapper.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/lib/Storage/PublicOwnerWrapper.php')
-rw-r--r--apps/dav/lib/Storage/PublicOwnerWrapper.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/apps/dav/lib/Storage/PublicOwnerWrapper.php b/apps/dav/lib/Storage/PublicOwnerWrapper.php
new file mode 100644
index 00000000000..a0f1607d971
--- /dev/null
+++ b/apps/dav/lib/Storage/PublicOwnerWrapper.php
@@ -0,0 +1,36 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+namespace OCA\DAV\Storage;
+
+use OC\Files\Storage\Wrapper\Wrapper;
+
+class PublicOwnerWrapper extends Wrapper {
+
+ private string $owner;
+
+ /**
+ * @param array $parameters ['storage' => $storage, 'owner' => $owner]
+ *
+ * $storage: The storage the permissions mask should be applied on
+ * $owner: The owner to use in case no owner is found
+ */
+ public function __construct(array $parameters) {
+ parent::__construct($parameters);
+ $this->owner = $parameters['owner'];
+ }
+
+ public function getOwner(string $path): string|false {
+ $owner = parent::getOwner($path);
+ if ($owner !== false) {
+ return $owner;
+ }
+
+ return $this->owner;
+ }
+}