Passed
Push — master ( faa4ac...572ea2 )
by Vladislav
06:35 queued 04:06
created

PurchaseResponse::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 10
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 12
rs 9.9332
1
<?php
2
namespace Carpenstar\ByBitAPI\Spot\LeverageToken\Purchase\Response;
3
4
use Carpenstar\ByBitAPI\Core\Helpers\DateTimeHelper;
5
use Carpenstar\ByBitAPI\Core\Objects\AbstractResponse;
6
use Carpenstar\ByBitAPI\Spot\LeverageToken\Purchase\Interfaces\IPurchaseResponseInterface;
7
8
class PurchaseResponse extends AbstractResponse implements IPurchaseResponseInterface
9
{
10
    /**
11
     * Actual purchase value of the LT
12
     * @var float $amount
13
     */
14
    private float $amount;
15
16
    /**
17
     * Transaction ID
18
     * @var string $id
19
     */
20
    private string $id;
21
22
    /**
23
     * Abbreviation of the LT
24
     * @var string $ltCode
25
     */
26
    private string $ltCode;
27
28
    /**
29
     * Order value of the LT
30
     * @var float $orderAmount
31
     */
32
    private float $orderAmount;
33
34
    /**
35
     * Order quantity of the LT
36
     * @var float $orderQuantity
37
     */
38
    private float $orderQuantity;
39
40
    /**
41
     * Order status. 1: Completed; 2: In progress; 3: Failed
42
     * @var int $orderStatus
43
     */
44
    private int $orderStatus;
45
46
    /**
47
     * Serial number
48
     * @var string $serialNo
49
     */
50
    private string $serialNo;
51
52
    /**
53
     * Timestamp
54
     * @var \DateTime $timestamp
55
     */
56
    private \DateTime $timestamp;
57
58
    /**
59
     * Quote asset
60
     * @var string $valueCoin
61
     */
62
    private string $valueCoin;
63
64
    public function __construct(array $data)
65
    {
66
        $this
67
            ->setAmount((float) $data['amount'])
68
            ->setId($data['id'])
69
            ->setLtCode($data['ltCode'])
70
            ->setOrderAmount((float) $data['orderAmount'])
71
            ->setOrderQuantity((float) $data['orderQuantity'])
72
            ->setOrderStatus($data['orderStatus'])
73
            ->setSerialNo($data['serialNo'])
74
            ->setTimestamp($data['timestamp'])
75
            ->setValueCoin($data['valueCoin']);
76
    }
77
78
    /**
79
     * @return float
80
     */
81
    public function getAmount(): float
82
    {
83
        return $this->amount;
84
    }
85
86
    /**
87
     * @param float $amount
88
     * @return PurchaseResponse
89
     */
90
    private function setAmount(float $amount): self
91
    {
92
        $this->amount = $amount;
93
        return $this;
94
    }
95
96
    /**
97
     * @return string
98
     */
99
    public function getId(): string
100
    {
101
        return $this->id;
102
    }
103
104
    /**
105
     * @param string $id
106
     * @return PurchaseResponse
107
     */
108
    private function setId(string $id): self
109
    {
110
        $this->id = $id;
111
        return $this;
112
    }
113
114
    /**
115
     * @return string
116
     */
117
    public function getLtCode(): string
118
    {
119
        return $this->ltCode;
120
    }
121
122
    /**
123
     * @param string $ltCode
124
     * @return PurchaseResponse
125
     */
126
    private function setLtCode(string $ltCode): self
127
    {
128
        $this->ltCode = $ltCode;
129
        return $this;
130
    }
131
132
    /**
133
     * @return float
134
     */
135
    public function getOrderAmount(): float
136
    {
137
        return $this->orderAmount;
138
    }
139
140
    /**
141
     * @param float $orderAmount
142
     * @return PurchaseResponse
143
     */
144
    private function setOrderAmount(float $orderAmount): self
145
    {
146
        $this->orderAmount = $orderAmount;
147
        return $this;
148
    }
149
150
    /**
151
     * @return float
152
     */
153
    public function getOrderQuantity(): float
154
    {
155
        return $this->orderQuantity;
156
    }
157
158
    /**
159
     * @param float $orderQuantity
160
     * @return PurchaseResponse
161
     */
162
    private function setOrderQuantity(float $orderQuantity): self
163
    {
164
        $this->orderQuantity = $orderQuantity;
165
        return $this;
166
    }
167
168
    /**
169
     * @return int
170
     */
171
    public function getOrderStatus(): int
172
    {
173
        return $this->orderStatus;
174
    }
175
176
    /**
177
     * @param int $orderStatus
178
     * @return PurchaseResponse
179
     */
180
    private function setOrderStatus(int $orderStatus): self
181
    {
182
        $this->orderStatus = $orderStatus;
183
        return $this;
184
    }
185
186
    /**
187
     * @return string
188
     */
189
    public function getSerialNo(): string
190
    {
191
        return $this->serialNo;
192
    }
193
194
    /**
195
     * @param string $serialNo
196
     * @return PurchaseResponse
197
     */
198
    private function setSerialNo(string $serialNo): self
199
    {
200
        $this->serialNo = $serialNo;
201
        return $this;
202
    }
203
204
    /**
205
     * @return \DateTime
206
     */
207
    public function getTimestamp(): \DateTime
208
    {
209
        return $this->timestamp;
210
    }
211
212
    /**
213
     * @param int $timestamp
214
     * @return PurchaseResponse
215
     */
216
    private function setTimestamp(int $timestamp): self
217
    {
218
        $this->timestamp = DateTimeHelper::makeFromTimestamp($timestamp);
219
        return $this;
220
    }
221
222
    /**
223
     * @return string
224
     */
225
    public function getValueCoin(): string
226
    {
227
        return $this->valueCoin;
228
    }
229
230
    /**
231
     * @param string $valueCoin
232
     * @return PurchaseResponse
233
     */
234
    private function setValueCoin(string $valueCoin): self
235
    {
236
        $this->valueCoin = $valueCoin;
237
        return $this;
238
    }
239
}