StatusResult::result()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 20
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 20
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 7
nc 2
nop 0
1
<?php
2
declare(strict_types=1);
3
4
namespace Ytake\KsqlClient\Result;
5
6
use Ytake\KsqlClient\Entity\CommandStatus;
7
use Ytake\KsqlClient\Entity\CommandStatuses;
8
use Ytake\KsqlClient\Entity\EntityInterface;
9
10
/**
11
 * Class StatusResult
12
 */
13
class StatusResult extends AbstractResult
14
{
15
    /**
16
     * @return EntityInterface|CommandStatuses
17
     */
18
    public function result(): EntityInterface
19
    {
20
        $decode = \GuzzleHttp\json_decode(
21
            $this->response->getBody()->getContents(), true
22
        );
23
        $statuses = new CommandStatuses();
24
        /**
25
         * response
26
         * {
27
         *   "commandStatuses": [
28
         *     {"stream/EXAMPLE/create":"SUCCESS"}
29
         *   ]
30
         * }
31
         */
32
        foreach ($decode['commandStatuses'] as $commandId => $status) {
33
            $statuses->addCommandStatus(new CommandStatus($commandId, $status));
34
        }
35
36
        return $statuses;
37
    }
38
}
39