config = $config; $this->getExtensionInformation = $getExtensionInformation; $this->moduleCollectors = $moduleCollectors; $this->getTrueCustomerKey = $getTrueCustomerKey; } /** * @inheritDoc */ public function collect(): array { $modulesData = []; foreach ($this->moduleCollectors as $moduleName => $moduleCollector) { if (! $moduleCollector->hasNewData()) { continue; } $extensionInformation = $this->getExtensionInformation->execute($moduleName); $serialKey = (string) $this->config->getStoreConfig( "{$extensionInformation->getConfigSection()}/general/serial" ); $modulesData[$moduleName] = [ 'license_key' => $serialKey, 'customer_hash'=> $this->getTrueCustomerKey->execute($moduleName), 'statistic' => $moduleCollector->collect() ]; } return $modulesData; } }