. */ namespace SP\Domain\Upgrade\Services; use Exception; use SP\Core\Application; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; use SP\Domain\Common\Services\Service; use SP\Domain\Plugin\UpgradePluginServiceInterface; use SP\Plugin\PluginManager; /** * Class UpgradePlugin * * @package SP\Domain\Upgrade\Services */ final class UpgradePluginService extends Service implements UpgradePluginServiceInterface { private PluginManager $pluginManager; public function __construct(Application $application, PluginManager $pluginManager) { parent::__construct($application); $this->pluginManager = $pluginManager; } /** * upgrade_300_18010101 * * @throws Exception */ public function upgrade_310_19012201(): void { $this->eventDispatcher->notifyEvent( 'upgrade.plugin.start', new Event( $this, EventMessage::factory() ->addDescription(__u('Plugins upgrade')) ->addDescription(__FUNCTION__) ) ); $this->pluginManager->upgradePlugins('310.19012201'); $this->eventDispatcher->notifyEvent( 'upgrade.plugin.end', new Event( $this, EventMessage::factory() ->addDescription(__u('Plugins upgrade')) ->addDescription(__FUNCTION__) ) ); } }