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

GeneralSuccessResponseFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 23
ccs 8
cts 8
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 20 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