Passed
Push — master ( 3e99b0...1fa2df )
by Vladislav
04:12 queued 01:58
created

RiskLimitsResponse::__construct()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 9
nc 2
nop 1
dl 0
loc 12
rs 9.9666
c 0
b 0
f 0
1
<?php
2
namespace Carpenstar\ByBitAPI\Derivatives\MarketData\RiskLimit\Response;
3
4
use Carpenstar\ByBitAPI\Core\Objects\ResponseEntity;
5
use Carpenstar\ByBitAPI\Derivatives\MarketData\RiskLimit\Interfaces\IRiskLimitsResponse;
6
7
class RiskLimitsResponse extends ResponseEntity implements IRiskLimitsResponse
8
{
9
    /**
10
     * Risk id
11
     * @var string $id
12
     */
13
    private string $id;
14
15
    /**
16
     * Symbol name
17
     * @var string $symbol
18
     */
19
    private string $symbol;
20
21
    /**
22
     * Position limit
23
     * @var int $limit
24
     */
25
    private int $limit;
26
27
    /**
28
     * Maintain margin rate
29
     * @var float $maintainMargin
30
     */
31
    private float $maintainMargin;
32
33
    /**
34
     * Initial margin rate
35
     * @var float $initialMargin
36
     */
37
    private float $initialMargin;
38
39
    /**
40
     * 1: true, 0: false
41
     * @var int $isLowerRisk
42
     */
43
    private int $isLowerRisk = 0;
44
45
    /**
46
     * Allowed max leverage
47
     * @var float $maxLeverage
48
     */
49
    private float $maxLeverage;
50
51
    public function __construct(array $data)
52
    {
53
        $this
54
            ->setId($data['id'])
55
            ->setSymbol($data['symbol'])
56
            ->setLimit($data['limit'])
57
            ->setInitialMargin($data['initialMargin'])
58
            ->setMaintainMargin($data['maintainMargin'])
59
            ->setMaxLeverage($data['maxLeverage']);
60
61
        if(!empty($data['isLowerRisk'])) {
62
            $this->setIsLowerRisk($data['isLowerRisk']);
63
        }
64
    }
65
66
    /**
67
     * @param string $id
68
     * @return RiskLimitsResponse
69
     */
70
    private function setId(string $id): self
71
    {
72
        $this->id = $id;
73
        return $this;
74
    }
75
76
    /**
77
     * @return string
78
     */
79
    public function getId(): string
80
    {
81
        return $this->id;
82
    }
83
84
    /**
85
     * @param string $symbol
86
     * @return RiskLimitsResponse
87
     */
88
    private function setSymbol(string $symbol): self
89
    {
90
        $this->symbol = $symbol;
91
        return $this;
92
    }
93
94
    /**
95
     * @return string
96
     */
97
    public function getSymbol(): string
98
    {
99
        return $this->symbol;
100
    }
101
102
    /**
103
     * @param int $limit
104
     * @return RiskLimitsResponse
105
     */
106
    private function setLimit(int $limit): self
107
    {
108
        $this->limit = $limit;
109
        return $this;
110
    }
111
112
    /**
113
     * @return int
114
     */
115
    public function getLimit(): int
116
    {
117
        return $this->limit;
118
    }
119
120
    /**
121
     * @param float $maintainMargin
122
     * @return RiskLimitsResponse
123
     */
124
    private function setMaintainMargin(float $maintainMargin): self
125
    {
126
        $this->maintainMargin = $maintainMargin;
127
        return $this;
128
    }
129
130
    /**
131
     * @return float
132
     */
133
    public function getMaintainMargin(): float
134
    {
135
        return $this->maintainMargin;
136
    }
137
138
    /**
139
     * @param float $initialMargin
140
     * @return RiskLimitsResponse
141
     */
142
    private function setInitialMargin(float $initialMargin): self
143
    {
144
        $this->initialMargin = $initialMargin;
145
        return $this;
146
    }
147
148
    /**
149
     * @return float
150
     */
151
    public function getInitialMargin(): float
152
    {
153
        return $this->initialMargin;
154
    }
155
156
    /**
157
     * @param null|int $isLowerRisk
158
     * @return RiskLimitsResponse
159
     */
160
    private function setIsLowerRisk(int $isLowerRisk): self
161
    {
162
        $this->isLowerRisk = $isLowerRisk;
163
        return $this;
164
    }
165
166
    /**
167
     * @return int
168
     */
169
    public function getIsLowerRisk(): int
170
    {
171
        return $this->isLowerRisk;
172
    }
173
174
    /**
175
     * @param float $maxLeverage
176
     * @return RiskLimitsResponse
177
     */
178
    public function setMaxLeverage(float $maxLeverage): self
179
    {
180
        $this->maxLeverage = $maxLeverage;
181
        return $this;
182
    }
183
184
    /**
185
     * @return float
186
     */
187
    public function getMaxLeverage(): float
188
    {
189
        return $this->maxLeverage;
190
    }
191
}