serviceFactory = $serviceFactory; } public function run(Params $params, IO $io) : void { $id = $params->getOption('id'); $filePath = $params->getOption('file'); $paramsId = $params->getOption('paramsId'); $forceResume = $params->hasFlag('resume'); $revert = $params->hasFlag('revert'); $service = $this->serviceFactory->create('Import'); if (!$id && $filePath) { if (!$paramsId) { $io->writeLine("You need to specify --params-id option."); return; } if (!file_exists($filePath)) { $io->writeLine("File not found."); return; } $contents = file_get_contents($filePath); try { $result = $service->importFileWithParamsId($contents, $paramsId); $resultId = $result->id; $countCreated = $result->countCreated; $countUpdated = $result->countUpdated; } catch (Throwable $e) { $io->writeLine("Error occurred: ". $e->getMessage() . ""); return; } $io->writeLine("Finished. Import ID: {$resultId}. Created: {$countCreated}. Updated: {$countUpdated}."); return; } if ($id && $revert) { $io->writeLine("Reverting import..."); try { $service->revert($id); } catch (Throwable $e) { $io->writeLine("Error occurred: " . $e->getMessage() . ""); return; } $io->writeLine("Finished."); return; } if ($id) { $io->writeLine("Running import, this may take a while..."); try { $result = $service->importById($id, true, $forceResume); } catch (Throwable $e) { $io->writeLine("Error occurred: " . $e->getMessage() . ""); return; } $countCreated = $result->countCreated; $countUpdated = $result->countUpdated; $io->writeLine("Finished. Created: {$countCreated}. Updated: {$countUpdated}."); return; } $io->writeLine("Not enough params passed."); } }