summaryrefslogtreecommitdiff
path: root/app/ServiceProvider/EventDispatcherProvider.php
blob: 90210ba6af289165e34752490ab3c4196c0dddce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php

namespace ServiceProvider;

use Pimple\Container;
use Pimple\ServiceProviderInterface;
use Subscriber\NotificationSubscriber;
use Subscriber\ProjectActivitySubscriber;
use Subscriber\ProjectDailySummarySubscriber;
use Subscriber\ProjectModificationDateSubscriber;
use Subscriber\WebhookSubscriber;
use Symfony\Component\EventDispatcher\EventDispatcher;

class EventDispatcherProvider implements ServiceProviderInterface
{
    public function register(Container $container)
    {
        $container['dispatcher'] = new EventDispatcher;
        $container['dispatcher']->addSubscriber(new ProjectActivitySubscriber($container));
        $container['dispatcher']->addSubscriber(new ProjectDailySummarySubscriber($container));
        $container['dispatcher']->addSubscriber(new ProjectModificationDateSubscriber($container));
        $container['dispatcher']->addSubscriber(new WebhookSubscriber($container));
        $container['dispatcher']->addSubscriber(new NotificationSubscriber($container));

        // Automatic actions
        $container['action']->attachEvents();
    }
}