diff options
Diffstat (limited to 'app/Subscriber/ProjectModificationDateSubscriber.php')
-rw-r--r-- | app/Subscriber/ProjectModificationDateSubscriber.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/app/Subscriber/ProjectModificationDateSubscriber.php b/app/Subscriber/ProjectModificationDateSubscriber.php new file mode 100644 index 00000000..3d5484f7 --- /dev/null +++ b/app/Subscriber/ProjectModificationDateSubscriber.php @@ -0,0 +1,38 @@ +<?php + +namespace Subscriber; + +use Event\GenericEvent; +use Model\Task; +use Model\GithubWebhook; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; + +class ProjectModificationDateSubscriber extends Base implements EventSubscriberInterface +{ + public static function getSubscribedEvents() + { + return array( + Task::EVENT_CREATE_UPDATE => array('execute', 0), + Task::EVENT_CLOSE => array('execute', 0), + Task::EVENT_OPEN => array('execute', 0), + Task::EVENT_MOVE_COLUMN => array('execute', 0), + Task::EVENT_MOVE_POSITION => array('execute', 0), + Task::EVENT_MOVE_PROJECT => array('execute', 0), + Task::EVENT_ASSIGNEE_CHANGE => array('execute', 0), + GithubWebhook::EVENT_ISSUE_OPENED => array('execute', 0), + GithubWebhook::EVENT_ISSUE_CLOSED => array('execute', 0), + GithubWebhook::EVENT_ISSUE_REOPENED => array('execute', 0), + GithubWebhook::EVENT_ISSUE_ASSIGNEE_CHANGE => array('execute', 0), + GithubWebhook::EVENT_ISSUE_LABEL_CHANGE => array('execute', 0), + GithubWebhook::EVENT_ISSUE_COMMENT => array('execute', 0), + GithubWebhook::EVENT_COMMIT => array('execute', 0), + ); + } + + public function execute(GenericEvent $event) + { + if (isset($event['project_id'])) { + $this->project->updateModificationDate($event['project_id']); + } + } +} |