Completed
Push — master ( 52f5ec...d4d462 )
by Dmitry
14:35
created

SearchCountDocument   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 61
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 7
lcom 0
cbo 1
dl 0
loc 61
rs 10
c 0
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A getMeta() 0 4 1
A getContent() 0 10 1
A getLinks() 0 4 1
A createData() 0 4 1
A fillData() 0 3 1
A getRelationshipMember() 0 7 1
1
<?php
2
3
namespace hiapi\jsonApi;
4
5
use WoohooLabs\Yin\JsonApi\Document\AbstractSuccessfulDocument;
6
use WoohooLabs\Yin\JsonApi\Exception\ExceptionFactoryInterface;
7
use WoohooLabs\Yin\JsonApi\Request\RequestInterface;
8
use WoohooLabs\Yin\JsonApi\Schema\Data\DataInterface;
9
use WoohooLabs\Yin\JsonApi\Schema\Data\SingleResourceData;
10
use WoohooLabs\Yin\JsonApi\Schema\Links;
11
use WoohooLabs\Yin\JsonApi\Transformer\AbstractResourceTransformer;
12
use WoohooLabs\Yin\JsonApi\Transformer\ResourceTransformerInterface;
13
use WoohooLabs\Yin\JsonApi\Transformer\Transformation;
14
15
/**
16
 * Class SearchCountDocument
17
 *
18
 * @author Dmytro Naumenko <[email protected]>
19
 */
20
class SearchCountDocument extends AbstractSuccessfulDocument
21
{
22
    use JsonApiObjectProviderTrait;
23
24
    public function __construct()
25
    {
26
    }
27
28
    /**
29
     * {@inheritdoc}
30
     */
31
    public function getMeta(): array
32
    {
33
        return ['count' => $this->domainObject];
34
    }
35
36
    public function getContent(
37
        RequestInterface $request,
38
        ExceptionFactoryInterface $exceptionFactory,
39
        $domainObject,
40
        array $additionalMeta = []
41
    ): array {
42
        return array_merge(parent::getContent($request, $exceptionFactory, $domainObject, $additionalMeta), [
43
            'data' => [$this->getMeta()]
44
        ]);
45
    }
46
47
    /**
48
     * {@inheritdoc}
49
     */
50
    public function getLinks(): ?Links
51
    {
52
        return null;
53
    }
54
55
    /**
56
     * {@inheritdoc}
57
     */
58
    protected function createData(): DataInterface
59
    {
60
        return new SingleResourceData();
61
    }
62
63
    /**
64
     * {@inheritdoc}
65
     */
66
    protected function fillData(Transformation $transformation): void
67
    {
68
    }
69
70
    /**
71
     * {@inheritdoc}
72
     */
73
    protected function getRelationshipMember(
74
        string $relationshipName,
75
        Transformation $transformation,
76
        array $additionalMeta = []
77
    ): ?array {
78
        return null;
79
    }
80
}
81