Spaces:
No application file
No application file
namespace Mautic\StatsBundle\Aggregate; | |
use Mautic\StatsBundle\Aggregate\Collection\StatCollection; | |
use Mautic\StatsBundle\Event\AggregateStatRequestEvent; | |
use Mautic\StatsBundle\Event\Options\FetchOptions; | |
use Mautic\StatsBundle\StatEvents; | |
use Symfony\Component\EventDispatcher\EventDispatcherInterface; | |
class Collector | |
{ | |
public function __construct( | |
private EventDispatcherInterface $eventDispatcher | |
) { | |
} | |
/** | |
* @param string $statName | |
* | |
* @return StatCollection | |
*/ | |
public function fetchStats($statName, \DateTime $fromDateTime, \DateTime $toDateTime, FetchOptions $fetchOptions = null) | |
{ | |
if (null === $fetchOptions) { | |
$fetchOptions = new FetchOptions(); | |
} | |
$event = new AggregateStatRequestEvent($statName, $fromDateTime, $toDateTime, $fetchOptions); | |
$this->eventDispatcher->dispatch($event, StatEvents::AGGREGATE_STAT_REQUEST); | |
return $event->getStatCollection(); | |
} | |
} | |