feat: apply packages during imports
This commit is contained in:
@@ -8,15 +8,18 @@
|
||||
namespace WPContentSync\Admin;
|
||||
|
||||
use WPContentSync\Logging\LoggerInterface;
|
||||
use WPContentSync\Sync\SyncEngine;
|
||||
use WPContentSync\Transport\FileTransportInterface;
|
||||
|
||||
final class FileImportController {
|
||||
private FileTransportInterface $transport;
|
||||
private LoggerInterface $logger;
|
||||
private SyncEngine $sync_engine;
|
||||
|
||||
public function __construct( FileTransportInterface $transport, LoggerInterface $logger ) {
|
||||
$this->transport = $transport;
|
||||
$this->logger = $logger;
|
||||
public function __construct( FileTransportInterface $transport, LoggerInterface $logger, SyncEngine $sync_engine ) {
|
||||
$this->transport = $transport;
|
||||
$this->logger = $logger;
|
||||
$this->sync_engine = $sync_engine;
|
||||
}
|
||||
|
||||
public function register(): void {
|
||||
@@ -67,13 +70,23 @@ final class FileImportController {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->logger->info(
|
||||
'Validated imported content package.',
|
||||
array(
|
||||
'schema_version' => $package->schemaVersion(),
|
||||
'manifest' => $package->manifest(),
|
||||
)
|
||||
);
|
||||
$result = $this->sync_engine->importPackage( $package );
|
||||
|
||||
if ( ! $result->isSuccessful() ) {
|
||||
$this->logger->error(
|
||||
'Imported content package failed.',
|
||||
$result->toArray()
|
||||
);
|
||||
|
||||
$this->redirectToDashboard(
|
||||
array(
|
||||
'wpcs_import_error' => implode( ' ', $result->errors() ),
|
||||
)
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
$this->logger->info( 'Imported content package.', $result->toArray() );
|
||||
|
||||
$this->redirectToDashboard(
|
||||
array(
|
||||
|
||||
Reference in New Issue
Block a user