24 lines
849 B
PHP
24 lines
849 B
PHP
<?php
|
|
|
|
namespace Modules\Core\MigrateImport;
|
|
|
|
use Modules\Core\MigrateImport\JudgeMe\JudgeMeExportImporter;
|
|
use Modules\Core\MigrateImport\Shopify\ShopifyExportImporter;
|
|
|
|
class ImporterFactory
|
|
{
|
|
public static function make(ImportSpec $spec): Importer
|
|
{
|
|
return match ([$spec->source, $spec->type]) {
|
|
['shopify', 'export'] => new ShopifyExportImporter,
|
|
// ["shopify", "api"] => new ShopifyApiImporter(),
|
|
['judgeme', 'export'] => new JudgeMeExportImporter,
|
|
// ["woocommerce", "export"] => new WooCommerceExportImporter(),
|
|
// ["woocommerce", "api"] => new WooCommerceApiImporter(),
|
|
default => throw new \InvalidArgumentException(
|
|
"No importer available for source \"{$spec->source}\" with type \"{$spec->type}\".",
|
|
),
|
|
};
|
|
}
|
|
}
|