fileSystem = $fileSystem; $this->moduleDirectoryProvider = $moduleDirectoryProvider; } public function getModuleDataFilePath(string $fileName, string $directory = ''): string { if (!preg_match('/(^[a-z_]+$)|(^$)/m', $directory)) { throw new InvalidArgumentException(__('Invalid directory provided')->render()); } $moduleDirectory = $this->moduleDirectoryProvider->getPath( ComponentRegistrar::MODULE, 'Amasty_ElasticSearch' ); $moduleDataDirectory = $moduleDirectory . DIRECTORY_SEPARATOR . self::MODULE_DATA_FOLDER; if ($directory !== '') { $moduleDataDirectory .= DIRECTORY_SEPARATOR . $directory; } $filePath = $moduleDataDirectory . DIRECTORY_SEPARATOR . $fileName; if (!$this->fileSystem->fileExists($filePath)) { throw new InvalidArgumentException(__('Module data file doesn\'t exists.')->render()); } return $filePath; } public function getModuleDataFileContent(string $fileName, string $directory = ''): string { return $this->fileSystem->read( $this->getModuleDataFilePath($fileName, $directory) ); } }