From aeb29f32b7bda6b528d0611ea489e8c6af6a0e85 Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Tue, 4 Aug 2026 09:54:19 +0200 Subject: [PATCH] feat(api): Add getOrCreateFolder also for SimpleFS module Signed-off-by: Carl Schwan --- lib/private/Files/SimpleFS/SimpleFolder.php | 7 +++++++ lib/public/Files/SimpleFS/ISimpleFolder.php | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/private/Files/SimpleFS/SimpleFolder.php b/lib/private/Files/SimpleFS/SimpleFolder.php index 91339a7f6bcd6..c85243819b34b 100644 --- a/lib/private/Files/SimpleFS/SimpleFolder.php +++ b/lib/private/Files/SimpleFS/SimpleFolder.php @@ -89,4 +89,11 @@ public function newFolder(string $path): ISimpleFolder { $folder = $this->folder->newFolder($path); return new SimpleFolder($folder); } + + #[\Override] + public function getOrCreateFolder(string $path, int $maxRetries = 5): ISimpleFolder { + $folder = $this->folder->getOrCreateFolder($path, $maxRetries); + return new SimpleFolder($folder); + } + } diff --git a/lib/public/Files/SimpleFS/ISimpleFolder.php b/lib/public/Files/SimpleFS/ISimpleFolder.php index ebd36b866582a..79acc2938aa9e 100644 --- a/lib/public/Files/SimpleFS/ISimpleFolder.php +++ b/lib/public/Files/SimpleFS/ISimpleFolder.php @@ -81,4 +81,13 @@ public function getFolder(string $name): ISimpleFolder; * @since 25.0.0 */ public function newFolder(string $path): ISimpleFolder; + + /** + * Get or create new folder if the folder does not already exist. + * + * @param string $path relative path of the file or folder + * @throw NotPermittedException + * @since 35.0.0 + */ + public function getOrCreateFolder(string $path, int $maxRetries = 5): ISimpleFolder; }