Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Integration.php
Go to the documentation of this file.
1 <?php
8 
16 
21 {
26 
30  protected $aclRetriever;
31 
35  protected $integrationConfig;
36 
41 
50  public function __construct(
55  ) {
56  $this->integrationAuthorizationService = $integrationAuthorizationService;
57  $this->aclRetriever = $aclRetriever;
58  $this->integrationConfig = $integrationConfig;
59  $this->consolidatedConfig = $consolidatedConfig;
60  }
61 
72  {
73  if ($integration->getSetupType() == IntegrationModel::TYPE_CONFIG) {
75  }
77  return $integration;
78  }
79 
90  {
91  if ($integration->getSetupType() == IntegrationModel::TYPE_CONFIG) {
93  }
95  return $integration;
96  }
97 
108  {
110  return $integration;
111  }
112 
120  {
121  $integrations = array_merge(
122  $this->integrationConfig->getIntegrations(),
123  $this->consolidatedConfig->getIntegrations()
124  );
125  if ($integration->getId()) {
126  if ($integration->getSetupType() == IntegrationModel::TYPE_CONFIG) {
127  $integration->setData(
128  'resource',
129  $integrations[$integration->getData('name')]['resource']
130  );
131  } else {
132  $integration->setData(
133  'resource',
134  $this->aclRetriever->getAllowedResourcesByUser(
136  (int)$integration->getId()
137  )
138  );
139  }
140  }
141  }
142 
153  {
154  if ($integration->getId()) {
155  if ($integration->getData('all_resources')) {
156  $this->integrationAuthorizationService->grantAllPermissions($integration->getId());
157  } elseif (is_array($integration->getData('resource'))) {
158  $this->integrationAuthorizationService
159  ->grantPermissions($integration->getId(), $integration->getData('resource'));
160  } else {
161  $this->integrationAuthorizationService->grantPermissions($integration->getId(), []);
162  }
163  }
164  }
165 
175  public function afterDelete(IntegrationServiceInterface $subject, array $integrationData)
176  {
177  //No check needed for integration data since it cannot be empty in the parent invocation - delete
178  $integrationId = (int)$integrationData[IntegrationModel::ID];
179  $this->integrationAuthorizationService->removePermissions($integrationId);
180  return $integrationData;
181  }
182 }
afterDelete(IntegrationServiceInterface $subject, array $integrationData)
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
afterUpdate(IntegrationServiceInterface $subject, $integration)
Definition: Integration.php:89
afterCreate(IntegrationServiceInterface $subject, $integration)
Definition: Integration.php:71
_saveApiPermissions(IntegrationModel $integration)
_addAllowedResources(IntegrationModel $integration)
afterGet(IntegrationServiceInterface $subject, $integration)
__construct(AuthorizationServiceInterface $integrationAuthorizationService, AclRetriever $aclRetriever, IntegrationConfig $integrationConfig, ConsolidatedConfig $consolidatedConfig)
Definition: Integration.php:50