From 2cdc28c65e7d771ba5538e59a8880fe7c9908452 Mon Sep 17 00:00:00 2001 From: Darshan Date: Wed, 7 Jan 2026 19:47:17 +0530 Subject: [PATCH] add: `totalSize` support on migrations. --- src/Migration/Sources/Appwrite.php | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/src/Migration/Sources/Appwrite.php b/src/Migration/Sources/Appwrite.php index acc8f83..d4b16d9 100644 --- a/src/Migration/Sources/Appwrite.php +++ b/src/Migration/Sources/Appwrite.php @@ -327,30 +327,13 @@ private function reportStorage(array $resources, array &$report, array $resource } foreach ($buckets as $bucket) { - $lastFile = null; - while (true) { - $queries = [Query::limit(self::DEFAULT_PAGE_LIMIT)]; - if ($lastFile) { - $queries[] = Query::cursorAfter($lastFile); - } - - $files = $this->storage->listFiles( - $bucket['$id'], - $queries - )['files']; - - $report[Resource::TYPE_FILE] += count($files); - foreach ($files as $file) { - // already includes the `sizeOriginal` - $report['size'] += $file['sizeOriginal'] ?? 0; - } - - $lastFile = $files[count($files) - 1]['$id'] ?? null; + $filesResponse = $this->storage->listFiles( + $bucket['$id'], + [Query::limit(1)] + ); - if (count($files) < self::DEFAULT_PAGE_LIMIT) { - break; - } - } + $report['size'] += $bucket['totalSize'] ?? 0; + $report[Resource::TYPE_FILE] += $filesResponse['total']; } $report['size'] = $report['size'] / 1000 / 1000; // MB