PreApproval   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 5
dl 0
loc 32
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A enquiry() 0 23 2
1
<?php
2
3
namespace CultureKings\Afterpay\Service\InStore;
4
5
use CultureKings\Afterpay\Exception\ApiException;
6
use CultureKings\Afterpay\Model;
7
use GuzzleHttp\Exception\BadResponseException;
8
use GuzzleHttp\HandlerStack;
9
10
/**
11
 * Class PreApproval
12
 * @package CultureKings\Afterpay\Service\InStore
13
 */
14
class PreApproval extends AbstractService
15
{
16
    /**
17
     * @param string            $preApprovalCode
18
     * @param HandlerStack|null $stack
19
     *
20
     * @return array|\JMS\Serializer\scalar|object
21
     */
22
    public function enquiry($preApprovalCode, HandlerStack $stack = null)
23
    {
24
        try {
25
            $params = $this->generateParams(['preApprovalCode' => $preApprovalCode], $stack);
26
27
            $result = $this->getClient()->post('preapprovals/enquire', $params);
28
29
            return $this->getSerializer()->deserialize(
30
                (string) $result->getBody(),
31
                Model\InStore\PreApproval::class,
32
                'json'
33
            );
34
        } catch (BadResponseException $exception) {
35
            throw new ApiException(
36
                $this->getSerializer()->deserialize(
37
                    (string) $exception->getResponse()->getBody(),
38
                    Model\ErrorResponse::class,
39
                    'json'
40
                ),
41
                $exception
42
            );
43
        }
44
    }
45
}
46