Completed
Push — master ( 5c71f2...630401 )
by Oleg
07:36
created

GeneralSuccessResponseFactory::__invoke()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 20
ccs 8
cts 8
cp 1
rs 9.6
c 0
b 0
f 0
cc 2
nc 2
nop 5
crap 2
1
<?php
2
declare(strict_types=1);
3
4
namespace SlayerBirden\DataFlowServer\Stdlib\Validation;
5
6
use Psr\Http\Message\ResponseInterface;
7
use SlayerBirden\DataFlowServer\Notification\SuccessMessage;
8
use Zend\Diactoros\Response\JsonResponse;
9
10
final class GeneralSuccessResponseFactory
11
{
12 28
    public function __invoke(
13
        string $message,
14
        string $dataObjectName,
15
        $value,
16
        $code = 200,
17
        $count = null
18
    ): ResponseInterface {
19
        $data = [
20 28
            $dataObjectName => $value,
21
            'validation' => [],
22
        ];
23 28
        if ($count !== null) {
24 10
            $data['count'] = $count;
25
        }
26 28
        return new JsonResponse([
27 28
            'data' => $data,
28
            'success' => true,
29 28
            'msg' => new SuccessMessage($message),
30 28
        ], $code);
31
    }
32
}
33