<?php
namespace AppBundle\EventListener\GraphQl;
use AppBundle\Event\GqlEvents\QueryEvent;
use AppBundle\Repository\ColorRepository;
use AppBundle\Repository\MarketingRepository;
class QueryListener
{
/**
* @param QueryEvent $event
*/
public function onPrefetch(QueryEvent $event)
{
if ($event->getClassName() === ColorRepository::CLASS_NAME) {
// MDG becomes MOM in queries of formOrder (@see axo #28714)
// custom filter to allow use of mdg to mom only on a few select front places
if ($filters = $event->getFilters()) {
foreach ($filters as $key => $filter) {
if ($key === 'marketing.name.mdgAsMom') {
if (isset($filter['filterValue'])
&& $filter['filterValue'] === MarketingRepository::MARKETING_TYPE_MDG) {
$filters[$key]['filterValue'] = MarketingRepository::MARKETING_TYPE_MOM;
}
$filters['marketing.name'] = $filters['marketing.name.mdgAsMom'];
unset($filters['marketing.name.mdgAsMom']);
}
}
$event->setFilters($filters);
}
}
}
}