diff --git a/composer.lock b/composer.lock index f59c62c5..9aa50cf0 100644 --- a/composer.lock +++ b/composer.lock @@ -1476,12 +1476,12 @@ "source": { "type": "git", "url": "https://github.com/nextcloud-deps/ocp.git", - "reference": "1787ce259afa7296eec0c8b037976987eba134ac" + "reference": "baf13f74c7bad9e134b8b95fbea945d5bee1d98d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/1787ce259afa7296eec0c8b037976987eba134ac", - "reference": "1787ce259afa7296eec0c8b037976987eba134ac", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/baf13f74c7bad9e134b8b95fbea945d5bee1d98d", + "reference": "baf13f74c7bad9e134b8b95fbea945d5bee1d98d", "shasum": "" }, "require": { @@ -1513,7 +1513,7 @@ "issues": "https://github.com/nextcloud-deps/ocp/issues", "source": "https://github.com/nextcloud-deps/ocp/tree/master" }, - "time": "2023-05-04T00:35:11+00:00" + "time": "2023-05-13T00:33:05+00:00" }, { "name": "nikic/php-parser", diff --git a/lib/Migrator/FilesMigrator.php b/lib/Migrator/FilesMigrator.php index 99a3d470..3576f37a 100644 --- a/lib/Migrator/FilesMigrator.php +++ b/lib/Migrator/FilesMigrator.php @@ -92,7 +92,7 @@ public function __construct( /** * {@inheritDoc} */ - public function getEstimatedExportSize(IUser $user): int { + public function getEstimatedExportSize(IUser $user): int|float { $uid = $user->getUID(); $userFolder = $this->root->getUserFolder($uid); $nodeFilter = function (Node $node): bool { @@ -128,13 +128,13 @@ public function getEstimatedExportSize(IUser $user): int { // 2MiB for comments $size += 2048; - return (int)ceil($size); + return ceil($size); } /** * Estimate size of folder in bytes, applying a filter */ - private function estimateFolderSize(Folder $folder, ?callable $nodeFilter = null): int { + private function estimateFolderSize(Folder $folder, ?callable $nodeFilter = null): int|float { $size = 0; $nodes = $folder->getDirectoryListing(); foreach ($nodes as $node) { @@ -147,7 +147,7 @@ private function estimateFolderSize(Folder $folder, ?callable $nodeFilter = null $size += $this->estimateFolderSize($node, $nodeFilter); } } - return (int)$size; + return $size; } /** diff --git a/lib/Service/UserMigrationService.php b/lib/Service/UserMigrationService.php index 6c5ce7f1..5d1dbde0 100644 --- a/lib/Service/UserMigrationService.php +++ b/lib/Service/UserMigrationService.php @@ -110,11 +110,11 @@ public function __construct( /** * @param ?string[] $filteredMigratorList If not null, only these migrators will run. If empty only the main account data will be exported. * - * @return int Estimated size in KiB + * @return int|float Estimated size in KiB * * @throws UserMigrationException */ - public function estimateExportSize(IUser $user, ?array $filteredMigratorList = null): int { + public function estimateExportSize(IUser $user, ?array $filteredMigratorList = null): int|float { // 1MiB for base user data $size = 1024; @@ -124,6 +124,7 @@ public function estimateExportSize(IUser $user, ?array $filteredMigratorList = n } $cacheKey = $user->getUID() . '::' . $migrator->getId(); if ($this->internalCache->hasKey($cacheKey)) { + /** @var int|float $size */ $size += $this->internalCache->get($cacheKey); continue; } @@ -134,6 +135,7 @@ public function estimateExportSize(IUser $user, ?array $filteredMigratorList = n throw new UserMigrationException('Could not estimate export size for ' . $migrator->getDisplayName(), 0, $e); } $this->internalCache->set($cacheKey, $migratorSize); + /** @var int|float $size */ $size += $migratorSize; } } @@ -149,7 +151,7 @@ public function estimateExportSize(IUser $user, ?array $filteredMigratorList = n public function checkExportability(IUser $user, ?array $filteredMigratorList = null): void { try { $userFolder = $this->root->getUserFolder($user->getUID()); - $freeSpace = (int)ceil($userFolder->getFreeSpace() / 1024); + $freeSpace = ceil($userFolder->getFreeSpace() / 1024); } catch (Throwable $e) { throw new NotExportableException('Error calculating amount of free storage space available'); } @@ -173,7 +175,7 @@ public function checkExportability(IUser $user, ?array $filteredMigratorList = n $freeSpaceAfterExport = ($freeSpace - $exportSize) / 1024; if ($freeSpaceAfterExport < 0) { - throw new NotExportableException('Insufficient storage space available, please free up ' . (int)abs($freeSpaceAfterExport) . ' MiB or more to be able to export your data without running out of space'); + throw new NotExportableException('Insufficient storage space available, please free up ' . abs($freeSpaceAfterExport) . ' MiB or more to be able to export your data without running out of space'); } }