Completed
Push — master ( 9f3915...092909 )
by Lukáš
02:06
created

GetChangedVatRates   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 65
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

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

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getModelClass() 0 4 1
A getHttpMethod() 0 4 1
A getUri() 0 7 1
A getGuzzleOptions() 0 4 1
1
<?php
2
3
namespace Fousky\Component\iDoklad\Functions\VatRates;
4
5
use Fousky\Component\iDoklad\Functions\iDokladAbstractFunction;
6
use Fousky\Component\iDoklad\Model\VatRates\VatRateApiCollectionModel;
7
8
/**
9
 * @see https://app.idoklad.cz/developer/Help/v2/cs/Api?apiId=GET-api-v2-VatRates-GetChanges_lastCheck
10
 *
11
 * @author Lukáš Brzák <[email protected]>
12
 */
13
class GetChangedVatRates extends iDokladAbstractFunction
14
{
15
    /** @var \DateTime $lastCheckedAt */
16
    protected $lastCheckedAt;
17
18
    /**
19
     * @param \DateTime $lastCheckedAt
20
     */
21
    public function __construct(\DateTime $lastCheckedAt)
22
    {
23
        $this->lastCheckedAt = $lastCheckedAt;
24
    }
25
26
    /**
27
     * Get iDokladModelInterface class.
28
     *
29
     * @see iDokladModelInterface
30
     *
31
     * @return string
32
     */
33
    public function getModelClass(): string
34
    {
35
        return VatRateApiCollectionModel::class;
36
    }
37
38
    /**
39
     * GET|POST|PUT|DELETE e.g.
40
     *
41
     * @see iDoklad::request()
42
     *
43
     * @return string
44
     */
45
    public function getHttpMethod(): string
46
    {
47
        return 'GET';
48
    }
49
50
    /**
51
     * Return base URI, e.g. /invoices; /invoice/1/edit and so on.
52
     *
53
     * @see iDoklad::call()
54
     *
55
     * @return string
56
     */
57
    public function getUri(): string
58
    {
59
        return sprintf(
60
            'VatRates/GetChanges?lastCheck=%s',
61
            $this->lastCheckedAt->format('Y-m-d H:i:s')
62
        );
63
    }
64
65
    /**
66
     * Vrátí seznam parametrů, které se předají GuzzleHttp\Client.
67
     *
68
     * @see \GuzzleHttp\Client::request()
69
     * @see iDoklad::call()
70
     *
71
     * @return array
72
     */
73
    public function getGuzzleOptions(): array
74
    {
75
        return [];
76
    }
77
}
78