Passed
Push — master ( d7dc61...397ecf )
by
unknown
02:26
created

HookQuery::transferFromDTOToMango()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 12
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 7
nc 2
nop 1
1
<?php
2
/**
3
 * Created by Graham Owens ([email protected])
4
 * Company: PartFire Ltd (www.partfire.co.uk)
5
 * Console: Discovery
6
 *
7
 * User:    gra
8
 * Date:    16/01/17
9
 * Time:    15:06
10
 * Project: PartFire MangoPay Bundle
11
 * File:    HookQuery.php
12
 *
13
 **/
14
15
namespace PartFire\MangoPayBundle\Models\Adapters;
16
17
use MangoPay\MangoPayApi;
18
use MangoPay\Hook;
19
use PartFire\MangoPayBundle\Models\DTOs\Hook as PFHook;
20
use PartFire\MangoPayBundle\Models\HookQueryInterface;
21
use Symfony\Bridge\Monolog\Logger;
22
23
class HookQuery extends AbstractQuery implements HookQueryInterface
24
{
25
    private $walletTranslator;
26
27
    public function __construct(
28
        $clientId,
29
        $clientPassword,
30
        $baseUrl,
31
        MangoPayApi $mangoPayApi,
32
        Logger $logger
33
34
    ) {
35
        parent::__construct($clientId, $clientPassword, $baseUrl,$mangoPayApi, $logger);
36
    }
37
38
    public function list()
39
    {
40
        return $this->mangoPayApi->Hooks->GetAll();
41
    }
42
43
    public function create($hookEventName, $url)
44
    {
45
        $newHook = new PFHook();
46
        $newHook->setEventType($hookEventName);
47
        $newHook->setUrl($url);
48
        $newHook->setTag("FF-Console");
49
50
        return $this->mangoPayApi->Hooks->Create($this->transferFromDTOToMango($newHook));
51
    }
52
53
    public function update($hookId, $url)
54
    {
55
        $updateHook = new PFHook();
56
        $updateHook->setId($hookId);
57
        $updateHook->setUrl($url);
58
59
        return $this->mangoPayApi->Hooks->Update($this->transferFromDTOToMango($updateHook));
60
    }
61
62
    private function transferFromDTOToMango(PFHook $hook) : Hook
63
    {
64
        $newHook = new Hook();
65
        $newHook->EventType = $hook->getEventType();
66
        $newHook->Url = $hook->getUrl();
67
68
        if (!is_null($hook->getId())) {
69
            $newHook->Id = $hook->getId();
70
        }
71
72
        return $newHook;
73
    }
74
75
}