|
6 | 6 |
|
7 | 7 | use OpenApi\Attributes as OA; |
8 | 8 | use PhpList\Core\Domain\Messaging\Model\Message; |
9 | | -use PhpList\Core\Domain\Messaging\Service\Processor\CampaignProcessor; |
10 | 9 | use PhpList\Core\Security\Authentication; |
11 | 10 | use PhpList\RestBundle\Common\Controller\BaseController; |
12 | 11 | use PhpList\RestBundle\Common\Validator\RequestValidator; |
|
17 | 16 | use Symfony\Component\HttpFoundation\JsonResponse; |
18 | 17 | use Symfony\Component\HttpFoundation\Request; |
19 | 18 | use Symfony\Component\HttpFoundation\Response; |
| 19 | +use Symfony\Component\Messenger\MessageBusInterface; |
20 | 20 | use Symfony\Component\Routing\Attribute\Route; |
| 21 | +use Symfony\Component\Messenger\Stamp\TransportNamesStamp; |
21 | 22 |
|
22 | 23 | /** |
23 | 24 | * This controller provides REST API to manage campaigns. |
|
28 | 29 | class CampaignController extends BaseController |
29 | 30 | { |
30 | 31 | private CampaignService $campaignService; |
31 | | - private CampaignProcessor $campaignProcessor; |
| 32 | + private MessageBusInterface $messageBus; |
32 | 33 |
|
33 | 34 | public function __construct( |
34 | 35 | Authentication $authentication, |
35 | 36 | RequestValidator $validator, |
36 | 37 | CampaignService $campaignService, |
37 | | - CampaignProcessor $campaignProcessor, |
| 38 | + MessageBusInterface $messageBus, |
38 | 39 | ) { |
39 | 40 | parent::__construct($authentication, $validator); |
40 | 41 | $this->campaignService = $campaignService; |
41 | | - $this->campaignProcessor = $campaignProcessor; |
| 42 | + $this->messageBus = $messageBus; |
42 | 43 | } |
43 | 44 |
|
44 | 45 | #[Route('', name: 'get_list', methods: ['GET'])] |
@@ -388,8 +389,10 @@ public function sendMessage( |
388 | 389 | throw $this->createNotFoundException('Campaign not found.'); |
389 | 390 | } |
390 | 391 |
|
391 | | - $this->campaignProcessor->process($message); |
392 | | - |
| 392 | + $this->messageBus->dispatch( |
| 393 | + new CampaignProcessorMessage($message->getId()), |
| 394 | + [new TransportNamesStamp(['sync'])] |
| 395 | + ); |
393 | 396 | return $this->json($this->campaignService->getMessage($message), Response::HTTP_OK); |
394 | 397 | } |
395 | 398 | } |
0 commit comments