Passed
Branch 3.0.0 (dcfee6)
by Pieter
02:48
created

ApiResourceFacadeResponse::getNormalizedData()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace W2w\Lib\Apie\Core\Models;
4
5
use Psr\Http\Message\ResponseInterface;
6
use W2w\Lib\Apie\Interfaces\ResourceSerializerInterface;
7
8
/**
9
 * Data class returned by ApiResourceFacade.
10
 */
11
class ApiResourceFacadeResponse
12
{
13
    private $serializer;
14
15
    private $resource;
16
17
    private $acceptHeader;
18
19
    /**
20
     * @param ResourceSerializerInterface $serializer
21
     * @param mixed $resource
22
     * @param string|null $acceptHeader
23
     */
24
    public function __construct(
25
        ResourceSerializerInterface $serializer,
26
        $resource,
27
        ?string $acceptHeader
28
    ) {
29
        $this->serializer = $serializer;
30
        $this->resource = $resource;
31
        $this->acceptHeader = $acceptHeader;
32
    }
33
34
    /**
35
     * @return mixed
36
     */
37
    public function getResource()
38
    {
39
        return $this->resource;
40
    }
41
42
    /**
43
     * @return ResponseInterface
44
     */
45
    public function getResponse(): ResponseInterface
46
    {
47
        return $this->serializer->toResponse($this->resource, $this->acceptHeader ?? 'application/json');
48
    }
49
50
    /**
51
     * Gets data the way we would send it normalized.
52
     *
53
     * @return mixed
54
     */
55
    public function getNormalizedData()
56
    {
57
        return $this->serializer->normalize($this->resource, $this->acceptHeader ?? 'application/json');
58
    }
59
}
60