aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/Files
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/Files')
-rw-r--r--lib/public/Files/Cache/IFileAccess.php32
-rw-r--r--lib/public/Files/Config/Event/UserMountAddedEvent.php3
-rw-r--r--lib/public/Files/Config/Event/UserMountRemovedEvent.php3
-rw-r--r--lib/public/Files/Config/Event/UserMountUpdatedEvent.php5
-rw-r--r--lib/public/Files/Config/ICachedMountFileInfo.php1
-rw-r--r--lib/public/Files/DavUtil.php1
-rw-r--r--lib/public/Files/EmptyFileNameException.php1
-rw-r--r--lib/public/Files/Folder.php11
-rw-r--r--lib/public/Files/GenericFileException.php1
-rw-r--r--lib/public/Files/IAppData.php1
-rw-r--r--lib/public/Files/IFilenameValidator.php2
-rw-r--r--lib/public/Files/InvalidDirectoryException.php1
-rw-r--r--lib/public/Files/Notify/IChange.php1
-rw-r--r--lib/public/Files/Notify/INotifyHandler.php1
-rw-r--r--lib/public/Files/Notify/IRenameChange.php1
-rw-r--r--lib/public/Files/Search/ISearchBinaryOperator.php1
-rw-r--r--lib/public/Files/Search/ISearchComparison.php3
-rw-r--r--lib/public/Files/Search/ISearchOperator.php1
-rw-r--r--lib/public/Files/Search/ISearchOrder.php1
-rw-r--r--lib/public/Files/Search/ISearchQuery.php1
-rw-r--r--lib/public/Files/SimpleFS/ISimpleFile.php1
-rw-r--r--lib/public/Files/SimpleFS/ISimpleFolder.php1
-rw-r--r--lib/public/Files/SimpleFS/ISimpleRoot.php1
-rw-r--r--lib/public/Files/Storage/IChunkedFileWrite.php1
-rw-r--r--lib/public/Files/Storage/IDisableEncryptionStorage.php1
-rw-r--r--lib/public/Files/Storage/INotifyStorage.php1
-rw-r--r--lib/public/Files/Template/RegisterTemplateCreatorEvent.php1
27 files changed, 70 insertions, 9 deletions
diff --git a/lib/public/Files/Cache/IFileAccess.php b/lib/public/Files/Cache/IFileAccess.php
index 51945b55a25..7a993d81e7a 100644
--- a/lib/public/Files/Cache/IFileAccess.php
+++ b/lib/public/Files/Cache/IFileAccess.php
@@ -79,4 +79,36 @@ interface IFileAccess {
* @since 29.0.0
*/
public function getByFileIdsInStorage(array $fileIds, int $storageId): array;
+
+ /**
+ * Retrieves files stored in a specific storage that have a specified ancestor in the file hierarchy.
+ * Allows filtering by mime types, encryption status, and limits the number of results.
+ *
+ * @param int $storageId The ID of the storage to search within.
+ * @param int $folderId The file ID of the ancestor to base the search on.
+ * @param int $fileIdCursor The last processed file ID. Only files with a higher ID will be included. Defaults to 0.
+ * @param int $maxResults The maximum number of results to retrieve. If set to 0, all matching files will be retrieved.
+ * @param list<int> $mimeTypeIds An array of mime types to filter the results. If empty, no mime type filtering will be applied.
+ * @param bool $endToEndEncrypted Whether to include EndToEndEncrypted files
+ * @param bool $serverSideEncrypted Whether to include ServerSideEncrypted files
+ * @return \Generator<ICacheEntry> A generator yielding matching files as cache entries.
+ * @throws \OCP\DB\Exception
+ *
+ * @since 32.0.0
+ */
+ public function getByAncestorInStorage(int $storageId, int $folderId, int $fileIdCursor = 0, int $maxResults = 100, array $mimeTypeIds = [], bool $endToEndEncrypted = true, bool $serverSideEncrypted = true): \Generator;
+
+ /**
+ * Retrieves a list of all distinct mounts.
+ * Allows filtering by specific mount providers.
+ * Optionally rewrites home directory root paths to avoid cache and trashbin.
+ *
+ * @param list<string> $mountProviders An array of mount provider class names to filter. If empty, all providers will be included.
+ * @param bool $onlyUserFilesMounts Whether to rewrite the root IDs for home directories to only include user files and to only consider mounts with mount points in the user files.
+ * @return \Generator<array{storage_id: int, root_id: int, overridden_root: int}> A generator yielding mount configurations as an array containing 'storage_id', 'root_id', and 'override_root'.
+ * @throws \OCP\DB\Exception
+ *
+ * @since 32.0.0
+ */
+ public function getDistinctMounts(array $mountProviders = [], bool $onlyUserFilesMounts = true): \Generator;
}
diff --git a/lib/public/Files/Config/Event/UserMountAddedEvent.php b/lib/public/Files/Config/Event/UserMountAddedEvent.php
index f2846f2ff2b..8abd7512188 100644
--- a/lib/public/Files/Config/Event/UserMountAddedEvent.php
+++ b/lib/public/Files/Config/Event/UserMountAddedEvent.php
@@ -11,7 +11,6 @@ namespace OCP\Files\Config\Event;
use OCP\EventDispatcher\Event;
use OCP\Files\Config\ICachedMountInfo;
-use OCP\Files\Mount\IMountPoint;
/**
* Event emitted when a user mount was added.
@@ -20,7 +19,7 @@ use OCP\Files\Mount\IMountPoint;
*/
class UserMountAddedEvent extends Event {
public function __construct(
- public readonly IMountPoint|ICachedMountInfo $mountPoint,
+ public readonly ICachedMountInfo $mountPoint,
) {
parent::__construct();
}
diff --git a/lib/public/Files/Config/Event/UserMountRemovedEvent.php b/lib/public/Files/Config/Event/UserMountRemovedEvent.php
index bdf264c9c4b..0de7cfc4a99 100644
--- a/lib/public/Files/Config/Event/UserMountRemovedEvent.php
+++ b/lib/public/Files/Config/Event/UserMountRemovedEvent.php
@@ -11,7 +11,6 @@ namespace OCP\Files\Config\Event;
use OCP\EventDispatcher\Event;
use OCP\Files\Config\ICachedMountInfo;
-use OCP\Files\Mount\IMountPoint;
/**
* Event emitted when a user mount was removed.
@@ -20,7 +19,7 @@ use OCP\Files\Mount\IMountPoint;
*/
class UserMountRemovedEvent extends Event {
public function __construct(
- public readonly IMountPoint|ICachedMountInfo $mountPoint,
+ public readonly ICachedMountInfo $mountPoint,
) {
parent::__construct();
}
diff --git a/lib/public/Files/Config/Event/UserMountUpdatedEvent.php b/lib/public/Files/Config/Event/UserMountUpdatedEvent.php
index 36d9cd55562..f797bef134e 100644
--- a/lib/public/Files/Config/Event/UserMountUpdatedEvent.php
+++ b/lib/public/Files/Config/Event/UserMountUpdatedEvent.php
@@ -11,7 +11,6 @@ namespace OCP\Files\Config\Event;
use OCP\EventDispatcher\Event;
use OCP\Files\Config\ICachedMountInfo;
-use OCP\Files\Mount\IMountPoint;
/**
* Event emitted when a user mount was moved.
@@ -20,8 +19,8 @@ use OCP\Files\Mount\IMountPoint;
*/
class UserMountUpdatedEvent extends Event {
public function __construct(
- public readonly IMountPoint|ICachedMountInfo $oldMountPoint,
- public readonly IMountPoint|ICachedMountInfo $newMountPoint,
+ public readonly ICachedMountInfo $oldMountPoint,
+ public readonly ICachedMountInfo $newMountPoint,
) {
parent::__construct();
}
diff --git a/lib/public/Files/Config/ICachedMountFileInfo.php b/lib/public/Files/Config/ICachedMountFileInfo.php
index 7b331059645..a9b30d8ba6d 100644
--- a/lib/public/Files/Config/ICachedMountFileInfo.php
+++ b/lib/public/Files/Config/ICachedMountFileInfo.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/DavUtil.php b/lib/public/Files/DavUtil.php
index 40d17c77c88..6dde3179bb8 100644
--- a/lib/public/Files/DavUtil.php
+++ b/lib/public/Files/DavUtil.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-only
diff --git a/lib/public/Files/EmptyFileNameException.php b/lib/public/Files/EmptyFileNameException.php
index ec13a9fc2be..1630ce63ea2 100644
--- a/lib/public/Files/EmptyFileNameException.php
+++ b/lib/public/Files/EmptyFileNameException.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Folder.php b/lib/public/Files/Folder.php
index 3128a17c10c..a35d2d78bc9 100644
--- a/lib/public/Files/Folder.php
+++ b/lib/public/Files/Folder.php
@@ -199,4 +199,15 @@ interface Folder extends Node {
* @since 9.1.0
*/
public function getRecent($limit, $offset = 0);
+
+ /**
+ * Verify if the given path is valid and allowed from this folder.
+ *
+ * @param string $path the path from this folder
+ * @param string $fileName
+ * @param bool $readonly Check only if the path is allowed for read-only access
+ * @throws InvalidPathException
+ * @since 32.0.0
+ */
+ public function verifyPath($fileName, $readonly = false): void;
}
diff --git a/lib/public/Files/GenericFileException.php b/lib/public/Files/GenericFileException.php
index 288d668e3e7..66a3b5e5ac4 100644
--- a/lib/public/Files/GenericFileException.php
+++ b/lib/public/Files/GenericFileException.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/IAppData.php b/lib/public/Files/IAppData.php
index e5a5c2b7143..4d0c4da6a8a 100644
--- a/lib/public/Files/IAppData.php
+++ b/lib/public/Files/IAppData.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/IFilenameValidator.php b/lib/public/Files/IFilenameValidator.php
index d8bd06d179d..9b7fa1e2e2e 100644
--- a/lib/public/Files/IFilenameValidator.php
+++ b/lib/public/Files/IFilenameValidator.php
@@ -43,7 +43,7 @@ interface IFilenameValidator {
* If no sanitizing is needed the same name is returned.
*
* @param string $name The filename to sanitize
- * @param null|string $charReplacement Character to use for replacing forbidden ones - by default space, dash or underscore is used if allowed.
+ * @param null|string $charReplacement Character to use for replacing forbidden ones - by default underscore, dash or space is used if allowed.
* @throws \InvalidArgumentException if no character replacement was given (and the default could not be applied) or the replacement is not valid.
* @since 32.0.0
*/
diff --git a/lib/public/Files/InvalidDirectoryException.php b/lib/public/Files/InvalidDirectoryException.php
index 7f87eed1a17..b9640209cbf 100644
--- a/lib/public/Files/InvalidDirectoryException.php
+++ b/lib/public/Files/InvalidDirectoryException.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Notify/IChange.php b/lib/public/Files/Notify/IChange.php
index 8f252411a5a..c7c758eec11 100644
--- a/lib/public/Files/Notify/IChange.php
+++ b/lib/public/Files/Notify/IChange.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Notify/INotifyHandler.php b/lib/public/Files/Notify/INotifyHandler.php
index 8777779ca4a..09b3dbca919 100644
--- a/lib/public/Files/Notify/INotifyHandler.php
+++ b/lib/public/Files/Notify/INotifyHandler.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Notify/IRenameChange.php b/lib/public/Files/Notify/IRenameChange.php
index 3e1ae7ed447..b1bfae5fc00 100644
--- a/lib/public/Files/Notify/IRenameChange.php
+++ b/lib/public/Files/Notify/IRenameChange.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Search/ISearchBinaryOperator.php b/lib/public/Files/Search/ISearchBinaryOperator.php
index 661be44596d..fa7ef4d1bb3 100644
--- a/lib/public/Files/Search/ISearchBinaryOperator.php
+++ b/lib/public/Files/Search/ISearchBinaryOperator.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Search/ISearchComparison.php b/lib/public/Files/Search/ISearchComparison.php
index 01b69f5d24c..ab298fa0a57 100644
--- a/lib/public/Files/Search/ISearchComparison.php
+++ b/lib/public/Files/Search/ISearchComparison.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -51,7 +52,7 @@ interface ISearchComparison extends ISearchOperator {
* @since 28.0.0
*/
public const COMPARE_DEFINED = 'is-defined';
-
+
/**
* @since 29.0.0
*/
diff --git a/lib/public/Files/Search/ISearchOperator.php b/lib/public/Files/Search/ISearchOperator.php
index a604bd96b9d..f6ae8edcbb1 100644
--- a/lib/public/Files/Search/ISearchOperator.php
+++ b/lib/public/Files/Search/ISearchOperator.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Search/ISearchOrder.php b/lib/public/Files/Search/ISearchOrder.php
index 23f71e2133e..e6e68849443 100644
--- a/lib/public/Files/Search/ISearchOrder.php
+++ b/lib/public/Files/Search/ISearchOrder.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Search/ISearchQuery.php b/lib/public/Files/Search/ISearchQuery.php
index 109998aee65..1b400c56e5b 100644
--- a/lib/public/Files/Search/ISearchQuery.php
+++ b/lib/public/Files/Search/ISearchQuery.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/SimpleFS/ISimpleFile.php b/lib/public/Files/SimpleFS/ISimpleFile.php
index 10cdc0a919d..4e77299ab00 100644
--- a/lib/public/Files/SimpleFS/ISimpleFile.php
+++ b/lib/public/Files/SimpleFS/ISimpleFile.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/SimpleFS/ISimpleFolder.php b/lib/public/Files/SimpleFS/ISimpleFolder.php
index 79b9fca1dac..95efc676688 100644
--- a/lib/public/Files/SimpleFS/ISimpleFolder.php
+++ b/lib/public/Files/SimpleFS/ISimpleFolder.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/SimpleFS/ISimpleRoot.php b/lib/public/Files/SimpleFS/ISimpleRoot.php
index 5c01c6a2a2e..6be8a1d47c9 100644
--- a/lib/public/Files/SimpleFS/ISimpleRoot.php
+++ b/lib/public/Files/SimpleFS/ISimpleRoot.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Storage/IChunkedFileWrite.php b/lib/public/Files/Storage/IChunkedFileWrite.php
index e166a7f3b1f..0cf27814f0e 100644
--- a/lib/public/Files/Storage/IChunkedFileWrite.php
+++ b/lib/public/Files/Storage/IChunkedFileWrite.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Storage/IDisableEncryptionStorage.php b/lib/public/Files/Storage/IDisableEncryptionStorage.php
index 98a4b4897da..19951da2015 100644
--- a/lib/public/Files/Storage/IDisableEncryptionStorage.php
+++ b/lib/public/Files/Storage/IDisableEncryptionStorage.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Storage/INotifyStorage.php b/lib/public/Files/Storage/INotifyStorage.php
index 0e5cf53af21..063ff815581 100644
--- a/lib/public/Files/Storage/INotifyStorage.php
+++ b/lib/public/Files/Storage/INotifyStorage.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/lib/public/Files/Template/RegisterTemplateCreatorEvent.php b/lib/public/Files/Template/RegisterTemplateCreatorEvent.php
index c931f3e2a78..a9e7fa01252 100644
--- a/lib/public/Files/Template/RegisterTemplateCreatorEvent.php
+++ b/lib/public/Files/Template/RegisterTemplateCreatorEvent.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later