Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StartUpdater.php
Go to the documentation of this file.
1 <?php
8 
10 use Zend\Mvc\Controller\AbstractActionController;
11 use Zend\View\Model\JsonModel;
12 use Zend\View\Model\ViewModel;
13 use Zend\Json\Json;
14 
18 class StartUpdater extends AbstractActionController
19 {
23  private $updaterTaskCreator;
24 
28  private $payloadValidator;
29 
36  public function __construct(
37  \Magento\Setup\Model\UpdaterTaskCreator $updaterTaskCreator,
38  \Magento\Setup\Model\PayloadValidator $payloadValidator
39  ) {
40  $this->updaterTaskCreator = $updaterTaskCreator;
41  $this->payloadValidator = $payloadValidator;
42  }
43 
49  public function indexAction()
50  {
51  $view = new ViewModel();
52  $view->setTerminal(true);
53  return $view;
54  }
55 
61  public function updateAction()
62  {
63  $postPayload = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
64  $errorMessage = '';
65  if (isset($postPayload[UpdaterTaskCreator::KEY_POST_PACKAGES])
66  && is_array($postPayload[UpdaterTaskCreator::KEY_POST_PACKAGES])
67  && isset($postPayload[UpdaterTaskCreator::KEY_POST_JOB_TYPE])
68  ) {
69  $errorMessage .= $this->payloadValidator->validatePayload($postPayload);
70  if (empty($errorMessage)) {
71  $errorMessage = $this->updaterTaskCreator->createUpdaterTasks($postPayload);
72  }
73  } else {
74  $errorMessage .= 'Invalid request';
75  }
76  $success = empty($errorMessage);
77  return new JsonModel(['success' => $success, 'message' => $errorMessage]);
78  }
79 }
__construct(\Magento\Setup\Model\UpdaterTaskCreator $updaterTaskCreator, \Magento\Setup\Model\PayloadValidator $payloadValidator)