diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-07-10 15:40:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-10 15:40:26 +0200 |
commit | b50182b0d6be7c04f2b57efbfb12b5a226de8baf (patch) | |
tree | af71eb94519ea6b938097cce374d5d4370537366 /lib/public | |
parent | e31f474fec839079c8a1d436561ec1a4e32e5853 (diff) | |
parent | 46f1efac41055d8fb349843140fefd021333de7b (diff) | |
download | nextcloud-server-b50182b0d6be7c04f2b57efbfb12b5a226de8baf.tar.gz nextcloud-server-b50182b0d6be7c04f2b57efbfb12b5a226de8baf.zip |
Merge pull request #46371 from nextcloud/feat/filename-validator
feat: Add `IFilenameValidator` to have one consistent place for filename validation
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/Files/IFilenameValidator.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/public/Files/IFilenameValidator.php b/lib/public/Files/IFilenameValidator.php new file mode 100644 index 00000000000..2bd3bb945dc --- /dev/null +++ b/lib/public/Files/IFilenameValidator.php @@ -0,0 +1,39 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCP\Files; + +/** + * @since 30.0.0 + */ +interface IFilenameValidator { + + /** + * It is recommended to use `\OCP\Files\Storage\IStorage::isFileValid` instead as this + * only checks if the filename is valid in general but not for a specific storage + * which might have additional naming rules. + * + * @param string $filename The filename to check for validity + * @return bool + * @since 30.0.0 + */ + public function isFilenameValid(string $filename): bool; + + /** + * It is recommended to use `\OCP\Files\Storage\IStorage::isFileValid` instead as this + * only checks if the filename is valid in general but not for a specific storage + * which might have additional naming rules. + * + * This will validate a filename and throw an exception with details on error. + * + * @param string $filename The filename to check for validity + * @throws \OCP\Files\InvalidPathException or one of its child classes in case of an error + * @since 30.0.0 + */ + public function validateFilename(string $filename): void; +} |