diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2023-10-11 10:06:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-11 10:06:29 +0200 |
commit | a722274c60cc46b9ec1a3c444c76b075c6f3fb48 (patch) | |
tree | e8f6e6fc6c6723ff16c62fd25c825b7af8d9eaee /apps/files_external | |
parent | 2aa11173f890a58445fb0d2c8cb5714b75a9c629 (diff) | |
parent | 155fd0b86a2ecefb4a17f2118abe0359f5ec7257 (diff) | |
download | nextcloud-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.php | 28 |
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, |