inklabs/kommerce-core

View on GitHub
src/ActionResponse/Option/GetOptionResponse.php

Summary

Maintainability
A
55 mins
Test Coverage
<?php
namespace inklabs\kommerce\ActionResponse\Option;

use inklabs\kommerce\EntityDTO\Builder\OptionDTOBuilder;
use inklabs\kommerce\EntityDTO\OptionDTO;
use inklabs\kommerce\Lib\PricingInterface;
use inklabs\kommerce\Lib\Query\ResponseInterface;

final class GetOptionResponse implements ResponseInterface
{
    /** @var OptionDTOBuilder */
    private $productDTOBuilder;

    /** @var PricingInterface */
    private $pricing;

    public function __construct(PricingInterface $pricing)
    {
        $this->pricing = $pricing;
    }

    public function setOptionDTOBuilder(OptionDTOBuilder $productDTOBuilder): void
    {
        $this->productDTOBuilder = $productDTOBuilder;
    }

    public function getOptionDTO(): OptionDTO
    {
        return $this->productDTOBuilder
            ->build();
    }

    public function getOptionDTOWithAllData(): OptionDTO
    {
        return $this->productDTOBuilder
            ->withAllData($this->pricing)
            ->build();
    }
}