Issues (3641)

ConfigurableBundleTemplateImageSetExpander.php (1 issue)

1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace Spryker\Glue\ConfigurableBundlesRestApi\Processor\Expander;
9
10
use Generated\Shared\Transfer\ConfigurableBundleTemplateStorageTransfer;
11
use Spryker\Glue\ConfigurableBundlesRestApi\Processor\RestResourceBuilder\ConfigurableBundleTemplateImageSetRestResourceBuilderInterface;
12
use Spryker\Glue\GlueApplication\Rest\Request\Data\RestRequestInterface;
13
14
class ConfigurableBundleTemplateImageSetExpander implements ConfigurableBundleRestResourceExpanderInterface
15
{
16
    /**
17
     * @var \Spryker\Glue\ConfigurableBundlesRestApi\Processor\RestResourceBuilder\ConfigurableBundleTemplateImageSetRestResourceBuilderInterface
18
     */
19
    protected $configurableBundleTemplateImageSetRestResourceBuilder;
20
21
    /**
22
     * @param \Spryker\Glue\ConfigurableBundlesRestApi\Processor\RestResourceBuilder\ConfigurableBundleTemplateImageSetRestResourceBuilderInterface $configurableBundleTemplateImageSetRestResourceBuilder
23
     */
24
    public function __construct(
25
        ConfigurableBundleTemplateImageSetRestResourceBuilderInterface $configurableBundleTemplateImageSetRestResourceBuilder
26
    ) {
27
        $this->configurableBundleTemplateImageSetRestResourceBuilder = $configurableBundleTemplateImageSetRestResourceBuilder;
28
    }
29
30
    /**
31
     * @param array<\Spryker\Glue\GlueApplication\Rest\JsonApi\RestResourceInterface> $resources
32
     * @param \Spryker\Glue\GlueApplication\Rest\Request\Data\RestRequestInterface $restRequest
33
     *
34
     * @return void
35
     */
36
    public function addResourceRelationships(array $resources, RestRequestInterface $restRequest): void
37
    {
38
        foreach ($resources as $resource) {
39
            $configurableBundleTemplateStorageTransfer = $resource->getPayload();
40
41
            if (!$configurableBundleTemplateStorageTransfer instanceof ConfigurableBundleTemplateStorageTransfer || !$resource->getId()) {
42
                continue;
43
            }
44
45
            foreach ($configurableBundleTemplateStorageTransfer->getImageSets() as $productImageSetStorageTransfer) {
0 ignored issues
show
The method getImageSets() does not exist on Spryker\Shared\Kernel\Transfer\AbstractTransfer. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

45
            foreach ($configurableBundleTemplateStorageTransfer->/** @scrutinizer ignore-call */ getImageSets() as $productImageSetStorageTransfer) {

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
46
                $configurableBundleTemplateSlotRestResource = $this->configurableBundleTemplateImageSetRestResourceBuilder
47
                    ->buildConfigurableBundleTemplateImageSetRestResource(
48
                        $productImageSetStorageTransfer,
49
                        $resource->getId(),
50
                    );
51
52
                $resource->addRelationship($configurableBundleTemplateSlotRestResource);
53
            }
54
        }
55
    }
56
}
57