Feat: Upgrading Lunar to 1.5

This commit is contained in:
2026-08-31 13:16:13 +03:00
parent 661e8b9a96
commit d873cb4931
42 changed files with 229 additions and 173 deletions
+2 -1
View File
@@ -2,6 +2,7 @@
namespace Modules\Core\MigrateImport;
use InvalidArgumentException;
use Modules\Core\MigrateImport\JudgeMe\JudgeMeExportImporter;
use Modules\Core\MigrateImport\Shopify\ShopifyExportImporter;
@@ -15,7 +16,7 @@ class ImporterFactory
['judgeme', 'export'] => new JudgeMeExportImporter,
// ["woocommerce", "export"] => new WooCommerceExportImporter(),
// ["woocommerce", "api"] => new WooCommerceApiImporter(),
default => throw new \InvalidArgumentException(
default => throw new InvalidArgumentException(
"No importer available for source \"{$spec->source}\" with type \"{$spec->type}\".",
),
};
@@ -2,6 +2,8 @@
namespace Modules\Core\MigrateImport\JudgeMe;
use RuntimeException;
class JudgeMeCsvReader
{
/**
@@ -12,7 +14,7 @@ class JudgeMeCsvReader
$handle = fopen($csvPath, 'r');
if ($handle === false) {
throw new \RuntimeException("Could not open CSV file: {$csvPath}");
throw new RuntimeException("Could not open CSV file: {$csvPath}");
}
$headers = fgetcsv($handle);
@@ -2,6 +2,7 @@
namespace Modules\Core\MigrateImport\JudgeMe;
use Throwable;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Log;
use Modules\Core\MigrateImport\Importer;
@@ -75,7 +76,7 @@ class JudgeMeExportImporter implements Importer
foreach ($urls as $url) {
try {
$review->addMediaFromUrl($url)->toMediaCollection(ProductReview::IMAGES_COLLECTION);
} catch (\Throwable $e) {
} catch (Throwable $e) {
Log::warning('JudgeMe import: failed to download review image', [
'review_id' => $review->id,
'url' => $url,
@@ -2,6 +2,8 @@
namespace Modules\Core\MigrateImport\Shopify;
use RuntimeException;
class ShopifyCsvReader
{
/**
@@ -12,7 +14,7 @@ class ShopifyCsvReader
$handle = fopen($csvPath, 'r');
if ($handle === false) {
throw new \RuntimeException("Could not open CSV file: {$csvPath}");
throw new RuntimeException("Could not open CSV file: {$csvPath}");
}
$headers = fgetcsv($handle);
@@ -2,6 +2,8 @@
namespace Modules\Core\MigrateImport\Shopify;
use Lunar\Models\TaxClass;
use Lunar\Models\ProductOption;
use Illuminate\Support\Facades\Log;
use Lunar\Models\Collection;
use Lunar\Models\CollectionGroup;
@@ -120,7 +122,7 @@ class ShopifyExportImporter implements Importer
}
/**
* @return array<int, \Lunar\Models\ProductOption>
* @return array<int, ProductOption>
*/
private function attachOptions(Product $product, array $row): array
{
@@ -146,7 +148,7 @@ class ShopifyExportImporter implements Importer
string $handle,
int $index,
array $row,
\Lunar\Models\TaxClass $taxClass,
TaxClass $taxClass,
Currency $currency,
array $options,
): void {