Skip to content

Commit

Permalink
GraphQL-135: GraphQL API returns rendered content for category
Browse files Browse the repository at this point in the history
  • Loading branch information
Valeriy Nayda committed Oct 1, 2018
1 parent 8e9b1eb commit cb7a755
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@
namespace Magento\CatalogGraphQl\Model\Resolver\Category;

use Magento\Catalog\Model\Category;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\GraphQl\Config\Element\Field;
use Magento\Framework\GraphQl\Query\Resolver\Value;
use Magento\Framework\GraphQl\Query\Resolver\ValueFactory;
use Magento\Framework\GraphQl\Query\ResolverInterface;
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
use Magento\Catalog\Helper\Output as OutputHelper;
Expand All @@ -20,25 +19,17 @@
*/
class CategoryHtmlAttribute implements ResolverInterface
{
/**
* @var ValueFactory
*/
private $valueFactory;

/**
* @var OutputHelper
*/
private $outputHelper;

/**
* @param ValueFactory $valueFactory
* @param OutputHelper $outputHelper
*/
public function __construct(
ValueFactory $valueFactory,
OutputHelper $outputHelper
) {
$this->valueFactory = $valueFactory;
$this->outputHelper = $outputHelper;
}

Expand All @@ -51,23 +42,16 @@ public function resolve(
ResolveInfo $info,
array $value = null,
array $args = null
): Value {
) {
if (!isset($value['model'])) {
$result = function () {
return null;
};
return $this->valueFactory->create($result);
throw new LocalizedException(__('"model" value should be specified'));
}

/* @var $category Category */
$category = $value['model'];
$fieldName = $field->getName();
$renderedValue = $this->outputHelper->categoryAttribute($category, $category->getData($fieldName), $fieldName);

$result = function () use ($renderedValue) {
return $renderedValue;
};

return $this->valueFactory->create($result);
return $renderedValue;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

use Magento\Catalog\Model\Product;
use Magento\Catalog\Model\Product\ImageFactory;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\GraphQl\Config\Element\Field;
use Magento\Framework\GraphQl\Query\ResolverInterface;
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
Expand Down Expand Up @@ -45,7 +46,7 @@ public function resolve(
array $args = null
): array {
if (!isset($value['model'])) {
throw new \LogicException(__('"model" value should be specified'));
throw new LocalizedException(__('"model" value should be specified'));
}
/** @var Product $product */
$product = $value['model'];
Expand Down

0 comments on commit cb7a755

Please sign in to comment.