feat: apply packages during imports

This commit is contained in:
Keith Solomon
2026-05-01 15:23:25 -05:00
parent e9f4b17229
commit 825e89b55f
6 changed files with 355 additions and 48 deletions
+23 -10
View File
@@ -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(