53 lines
1.8 KiB
PHP
53 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace oat\tao\migrations;
|
|
|
|
use Doctrine\DBAL\Schema\Schema;
|
|
use oat\oatbox\event\EventManager;
|
|
use oat\tao\model\event\TaoUpdateEvent;
|
|
use oat\tao\model\notifications\AlarmNotificationService;
|
|
use oat\tao\scripts\tools\migrations\AbstractMigration;
|
|
|
|
/**
|
|
* Auto-generated Migration: Please modify to your needs!
|
|
*/
|
|
final class Version202011041353202234_tao extends AbstractMigration
|
|
{
|
|
public function getDescription(): string
|
|
{
|
|
return 'Registration of AlarmNotificationService.';
|
|
}
|
|
|
|
/**
|
|
* @param Schema $schema
|
|
* @throws \common_Exception
|
|
* @throws \oat\oatbox\service\exception\InvalidServiceManagerException
|
|
*/
|
|
public function up(Schema $schema): void
|
|
{
|
|
$updatingNotificationService = new AlarmNotificationService();
|
|
$updatingNotificationService->setOption(AlarmNotificationService::OPTION_NOTIFIERS, []);
|
|
|
|
$this->getServiceManager()->register(
|
|
$updatingNotificationService::SERVICE_ID,
|
|
$updatingNotificationService
|
|
);
|
|
|
|
/** @var EventManager $eventManager */
|
|
$eventManager = $this->getServiceManager()->get(EventManager::SERVICE_ID);
|
|
$eventManager->attach(TaoUpdateEvent::class, [AlarmNotificationService::SERVICE_ID, 'listenTaoUpdateEvent']);
|
|
$this->getServiceManager()->register(EventManager::SERVICE_ID, $eventManager);
|
|
}
|
|
|
|
public function down(Schema $schema): void
|
|
{
|
|
/** @var EventManager $eventManager */
|
|
$this->getServiceManager()->unregister(AlarmNotificationService::SERVICE_ID);
|
|
$eventManager = $this->getServiceManager()->get(EventManager::SERVICE_ID);
|
|
$eventManager->detach(TaoUpdateEvent::class, [AlarmNotificationService::SERVICE_ID, 'listenTaoUpdateEvent']);
|
|
$this->getServiceManager()->register(EventManager::SERVICE_ID, $eventManager);
|
|
}
|
|
}
|