Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ExtensionGrid.php
Go to the documentation of this file.
1 <?php
7 
10 use Zend\Mvc\Controller\AbstractActionController;
11 use Zend\View\Model\JsonModel;
12 use Zend\View\Model\ViewModel;
14 
18 class ExtensionGrid extends AbstractActionController
19 {
23  private $packagesData;
24 
28  private $packagesAuth;
29 
33  private $gridExtension;
34 
40  public function __construct(
41  PackagesData $packagesData,
42  PackagesAuth $packagesAuth,
43  Grid\Extension $gridExtension
44  ) {
45  $this->packagesData = $packagesData;
46  $this->packagesAuth = $packagesAuth;
47  $this->gridExtension = $gridExtension;
48  }
49 
55  public function indexAction()
56  {
57  $view = new ViewModel();
58  $view->setTerminal(true);
59  return $view;
60  }
61 
68  public function extensionsAction()
69  {
70  $error = '';
71  $lastSyncData = [];
72  $authDetails = $this->packagesAuth->getAuthJsonData();
73  $extensions = [];
74  if ($authDetails) {
75  try {
76  $lastSyncData = $this->packagesData->syncPackagesData();
77  $extensions = $this->gridExtension->getList();
78  } catch (\Exception $e) {
79  $error = $e->getMessage();
80  }
81  }
82 
83  return new JsonModel(
84  [
85  'success' => true,
86  'extensions' => $extensions,
87  'total' => count($extensions),
88  'lastSyncData' => $lastSyncData,
89  'error' => $error
90  ]
91  );
92  }
93 
99  public function syncAction()
100  {
101  $error = '';
102  $lastSyncData = [];
103  try {
104  $authDataJson = $this->packagesAuth->getAuthJsonData();
105  $this->packagesAuth->checkCredentials($authDataJson['username'], $authDataJson['password']);
106  $lastSyncData = $this->packagesData->syncPackagesData();
107  } catch (\Exception $e) {
108  $error = $e->getMessage();
109  }
110  return new JsonModel(
111  [
112  'success' => true,
113  'lastSyncData' => $lastSyncData,
114  'error' => $error
115  ]
116  );
117  }
118 }
__construct(PackagesData $packagesData, PackagesAuth $packagesAuth, Grid\Extension $gridExtension)