summaryrefslogtreecommitdiffstats
path: root/apps/files_external
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2023-10-11 10:06:29 +0200
committerGitHub <noreply@github.com>2023-10-11 10:06:29 +0200
commita722274c60cc46b9ec1a3c444c76b075c6f3fb48 (patch)
treee8f6e6fc6c6723ff16c62fd25c825b7af8d9eaee /apps/files_external
parent2aa11173f890a58445fb0d2c8cb5714b75a9c629 (diff)
parent155fd0b86a2ecefb4a17f2118abe0359f5ec7257 (diff)
downloadnextcloud-server-a722274c60cc46b9ec1a3c444c76b075c6f3fb48.tar.gz
nextcloud-server-a722274c60cc46b9ec1a3c444c76b075c6f3fb48.zip
Merge pull request #40569 from nextcloud/backport/40499/stable27
[stable27] add wrapper for external storage to ensure we don't get an mtime that is lower than we know it is
Diffstat (limited to 'apps/files_external')
-rw-r--r--apps/files_external/lib/Config/ConfigAdapter.php28
1 files changed, 10 insertions, 18 deletions
diff --git a/apps/files_external/lib/Config/ConfigAdapter.php b/apps/files_external/lib/Config/ConfigAdapter.php
index 7f7c5e3e2eb..1b83688418c 100644
--- a/apps/files_external/lib/Config/ConfigAdapter.php
+++ b/apps/files_external/lib/Config/ConfigAdapter.php
@@ -31,6 +31,7 @@ namespace OCA\Files_External\Config;
use OC\Files\Storage\FailedStorage;
use OC\Files\Storage\Wrapper\Availability;
+use OC\Files\Storage\Wrapper\KnownMtime;
use OCA\Files_External\Lib\PersonalMount;
use OCA\Files_External\Lib\StorageConfig;
use OCA\Files_External\Service\UserGlobalStoragesService;
@@ -40,29 +41,17 @@ use OCP\Files\Storage;
use OCP\Files\Storage\IStorageFactory;
use OCP\Files\StorageNotAvailableException;
use OCP\IUser;
+use Psr\Clock\ClockInterface;
/**
* Make the old files_external config work with the new public mount config api
*/
class ConfigAdapter implements IMountProvider {
-
- /** @var UserStoragesService */
- private $userStoragesService;
-
- /** @var UserGlobalStoragesService */
- private $userGlobalStoragesService;
-
- /**
- * @param UserStoragesService $userStoragesService
- * @param UserGlobalStoragesService $userGlobalStoragesService
- */
public function __construct(
- UserStoragesService $userStoragesService,
- UserGlobalStoragesService $userGlobalStoragesService
- ) {
- $this->userStoragesService = $userStoragesService;
- $this->userGlobalStoragesService = $userGlobalStoragesService;
- }
+ private UserStoragesService $userStoragesService,
+ private UserGlobalStoragesService $userGlobalStoragesService,
+ private ClockInterface $clock,
+ ) {}
/**
* Process storage ready for mounting
@@ -155,7 +144,10 @@ class ConfigAdapter implements IMountProvider {
$this->userStoragesService,
$storageConfig,
$storageConfig->getId(),
- $storage,
+ new KnownMtime([
+ 'storage' => $storage,
+ 'clock' => $this->clock,
+ ]),
'/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(),
null,
$loader,