31 lines
915 B
PHP
31 lines
915 B
PHP
<?php
|
|
|
|
namespace KupShop\GraphQLBundle\ApiPublic\Controller;
|
|
|
|
use GraphQL\Type\Definition\ResolveInfo;
|
|
use KupShop\GraphQLBundle\ApiAdmin\Annotation\Module;
|
|
use KupShop\RecommendersBundle\Util\RecommendersUtil;
|
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
|
use TheCodingMachine\GraphQLite\Annotations\Query;
|
|
use TheCodingMachine\GraphQLite\Annotations\UseInputType;
|
|
|
|
class RecommenderController
|
|
{
|
|
public function __construct(private ?RecommendersUtil $recommendersUtil)
|
|
{
|
|
}
|
|
|
|
#[Query]
|
|
#[Module(\Modules::RECOMMENDERS)]
|
|
public function recommender(ResolveInfo $resolveInfo, #[UseInputType('String')] $data): string
|
|
{
|
|
$data = json_decode($data, true);
|
|
|
|
try {
|
|
return $this->recommendersUtil->renderRecommendersProducts($data);
|
|
} catch (NotFoundHttpException $exception) {
|
|
return $exception->getMessage();
|
|
}
|
|
}
|
|
}
|