<?php

namespace App\MessageHandler;

use App\Message\KeywordChecked;
use App\Service\Campaign\KeywordService;
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;

final class KeywordCheckedHandler implements MessageHandlerInterface
{
    /**
     * @var KeywordService
     */
    private $keywordService;

    public function __construct(KeywordService $keywordService)
    {
        $this->keywordService = $keywordService;
    }

    public function __invoke(KeywordChecked $message)
    {
        $keyword = $message->getCheck()->getKeyword();
        $keyword->setLatestCheck($message->getCheck());

        $this->keywordService->save($keyword);
    }
}
