MailjetApiService::bind()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Swm\Bundle\MailHookBundle\ApiService;
4
5
use Swm\Bundle\MailHookBundle\Hook\DefaultHook;
6
use Swm\Bundle\MailHookBundle\SwmMailHookEvent;
7
8
class MailjetApiService extends BaseApiService
9
{
10
    private $eventAssoc = array(
11
        'send'     => SwmMailHookEvent::MAILHOOK_SEND,
12
        'deferral' => SwmMailHookEvent::MAILHOOK_DEFERRAL,
13
        'open'     => SwmMailHookEvent::MAILHOOK_OPEN,
14
        'click'    => SwmMailHookEvent::MAILHOOK_CLICK,
15
        'bounce'   => SwmMailHookEvent::MAILHOOK_SOFTBOUNCE,
16
        'blocked'  => SwmMailHookEvent::MAILHOOK_HARDBOUNCE,
17
        'spam'     => SwmMailHookEvent::MAILHOOK_SPAM,
18
        'unsub'    => SwmMailHookEvent::MAILHOOK_UNSUB,
19
        'typofix'  => SwmMailHookEvent::MAILHOOK_OTHER,
20
    );
21
22
    /**
23
     * @return array<HookInterface>
24
     */
25
    public function bind()
26
    {
27
        $metaData = json_decode($this->request->getContent(), true);
28
29
        $email = $metaData['email'];
30
        $event = $metaData['event'];
31
32
        return array(new DefaultHook($event, $email, 'mailjet', $metaData, $this->eventAssoc[$event]));
33
    }
34
}
35