. */ namespace SP\Core\Bootstrap; use SP\Domain\Config\In\ConfigDataInterface; use SP\Domain\Config\Services\UpgradeConfigService; use SP\Domain\Config\UpgradeConfigServiceInterface; use SP\Domain\Upgrade\Services\UpgradeUtil; use SP\Util\VersionUtil; /** * Upgrade the config whenever is needed */ class UpgradeConfigChecker { private UpgradeConfigService $upgradeConfigService; private ConfigDataInterface $configData; public function __construct(UpgradeConfigServiceInterface $upgradeConfigService, ConfigDataInterface $configData) { $this->upgradeConfigService = $upgradeConfigService; $this->configData = $configData; } /** * Comprobar la versión de configuración y actualizarla * * @throws \SP\Domain\Upgrade\Services\UpgradeException */ public function checkConfigVersion(): void { // TODO: remove // Do not check config version when testing if (IS_TESTING) { return; } if (defined('OLD_CONFIG_FILE') && file_exists(OLD_CONFIG_FILE)) { $this->upgradeConfigService->upgradeOldConfigFile(VersionUtil::getVersionStringNormalized()); } $configVersion = UpgradeUtil::fixVersionNumber($this->configData->getConfigVersion()); if ($this->configData->isInstalled() && UpgradeConfigService::needsUpgrade($configVersion) ) { $this->upgradeConfigService->upgrade($configVersion, $this->configData); } } }