aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/lib/Lib/SessionStorageWrapper.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/lib/Lib/SessionStorageWrapper.php')
-rw-r--r--apps/files_external/lib/Lib/SessionStorageWrapper.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/apps/files_external/lib/Lib/SessionStorageWrapper.php b/apps/files_external/lib/Lib/SessionStorageWrapper.php
new file mode 100644
index 00000000000..8754041b2fa
--- /dev/null
+++ b/apps/files_external/lib/Lib/SessionStorageWrapper.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+namespace OCA\Files_External\Lib;
+
+use OC\Files\Storage\Wrapper\PermissionsMask;
+use OCP\Constants;
+
+/**
+ * Wrap Storage in PermissionsMask for session ephemeral use
+ */
+class SessionStorageWrapper extends PermissionsMask {
+ /**
+ * @param array $parameters ['storage' => $storage]
+ */
+ public function __construct(array $parameters) {
+ // disable sharing permission
+ $parameters['mask'] = Constants::PERMISSION_ALL & ~Constants::PERMISSION_SHARE;
+ parent::__construct($parameters);
+ }
+}