diff --git a/application/Espo/Core/ApplicationRunners/ClearCache.php b/application/Espo/Core/ApplicationRunners/ClearCache.php index 57a48eca06..5d1c5710d4 100644 --- a/application/Espo/Core/ApplicationRunners/ClearCache.php +++ b/application/Espo/Core/ApplicationRunners/ClearCache.php @@ -31,8 +31,8 @@ namespace Espo\Core\ApplicationRunners; use Espo\Core\{ Application\Runner, + DataManager, Exceptions\Error, - Utils\CacheClearer, }; /** @@ -42,11 +42,11 @@ class ClearCache implements Runner { use Cli; - private CacheClearer $cacheClearer; + private DataManager $dataManager; - public function __construct(CacheClearer $cacheClearer) + public function __construct(DataManager $dataManager) { - $this->cacheClearer = $cacheClearer; + $this->dataManager = $dataManager; } /** @@ -54,6 +54,6 @@ class ClearCache implements Runner */ public function run(): void { - $this->cacheClearer->clear(); + $this->dataManager->clearCache(); } } diff --git a/application/Espo/Core/Console/Commands/ClearCache.php b/application/Espo/Core/Console/Commands/ClearCache.php index 0c8ad5e024..93f16a38ab 100644 --- a/application/Espo/Core/Console/Commands/ClearCache.php +++ b/application/Espo/Core/Console/Commands/ClearCache.php @@ -34,16 +34,16 @@ use Espo\Core\{ Console\Command\Params, Console\IO, Exceptions\Error, - Utils\CacheClearer, + DataManager, }; class ClearCache implements Command { - private CacheClearer $cacheClearer; + private DataManager $dataManager; - public function __construct(CacheClearer $cacheClearer) + public function __construct(DataManager $dataManager) { - $this->cacheClearer = $cacheClearer; + $this->dataManager = $dataManager; } /** @@ -51,7 +51,7 @@ class ClearCache implements Command */ public function run(Params $params, IO $io): void { - $this->cacheClearer->clear(); + $this->dataManager->clearCache(); $io->writeLine("Cache has been cleared."); } diff --git a/application/Espo/Core/DataManager.php b/application/Espo/Core/DataManager.php index 0a5c1d2b61..041748d777 100644 --- a/application/Espo/Core/DataManager.php +++ b/application/Espo/Core/DataManager.php @@ -33,7 +33,7 @@ use Espo\Core\Utils\Config\MissingDefaultParamsSaver as ConfigMissingDefaultPara use Espo\Core\Exceptions\Error; use Espo\Core\ORM\EntityManagerProxy; -use Espo\Core\Utils\CacheClearer; +use Espo\Core\Utils\File\Manager as FileManager; use Espo\Core\Utils\Metadata; use Espo\Core\Utils\Util; use Espo\Core\Utils\Config; @@ -62,7 +62,9 @@ class DataManager private Module $module; private RebuildActionProcessor $rebuildActionProcessor; private ConfigMissingDefaultParamsSaver $configMissingDefaultParamsSaver; - private CacheClearer $cacheClearer; + private FileManager $fileManager; + + private string $cachePath = 'data/cache'; public function __construct( EntityManagerProxy $entityManager, @@ -76,7 +78,7 @@ class DataManager Module $module, RebuildActionProcessor $rebuildActionProcessor, ConfigMissingDefaultParamsSaver $configMissingDefaultParamsSaver, - CacheClearer $cacheClearer + FileManager $fileManager ) { $this->entityManager = $entityManager; $this->config = $config; @@ -89,7 +91,7 @@ class DataManager $this->module = $module; $this->rebuildActionProcessor = $rebuildActionProcessor; $this->configMissingDefaultParamsSaver = $configMissingDefaultParamsSaver; - $this->cacheClearer = $cacheClearer; + $this->fileManager = $fileManager; } /** @@ -118,7 +120,15 @@ class DataManager */ public function clearCache(): void { - $this->cacheClearer->clear(); + $this->module->clearCache(); + + $result = $this->fileManager->removeInDir($this->cachePath); + + if (!$result) { + throw new Error("Error while clearing cache"); + } + + $this->updateCacheTimestamp(); } /** diff --git a/application/Espo/Core/Utils/CacheClearer.php b/application/Espo/Core/Utils/CacheClearer.php deleted file mode 100644 index caf609115c..0000000000 --- a/application/Espo/Core/Utils/CacheClearer.php +++ /dev/null @@ -1,75 +0,0 @@ -configWriter = $configWriter; - $this->fileManager = $fileManager; - $this->module = $module; - } - - /** - * @throws Error - */ - public function clear(): void - { - $this->module->clearCache(); - - $result = $this->fileManager->removeInDir($this->cachePath); - - if (!$result) { - throw new Error("Error while clearing cache"); - } - - $this->updateCacheTimestamp(); - } - - private function updateCacheTimestamp(): void - { - $this->configWriter->updateCacheTimestamp(); - $this->configWriter->save(); - } -}