vendor/pimcore/customer-management-framework-bundle/src/Controller/Rest/Newsletter/AdminController.php line 40

Open in your IDE?
  1. <?php
  2. /**
  3.  * Pimcore
  4.  *
  5.  * This source file is available under two different licenses:
  6.  * - GNU General Public License version 3 (GPLv3)
  7.  * - Pimcore Commercial License (PCL)
  8.  * Full copyright and license information is available in
  9.  * LICENSE.md which is distributed with this source code.
  10.  *
  11.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  12.  *  @license    http://www.pimcore.org/license     GPLv3 and PCL
  13.  */
  14. namespace CustomerManagementFrameworkBundle\Controller\Rest\Newsletter;
  15. use CustomerManagementFrameworkBundle\Controller\Rest\AbstractRestController;
  16. use CustomerManagementFrameworkBundle\Newsletter\Queue\NewsletterQueueInterface;
  17. use Pimcore\Tool\Console;
  18. use Symfony\Component\HttpFoundation\JsonResponse;
  19. use Symfony\Component\Routing\Annotation\Route;
  20. class AdminController extends AbstractRestController
  21. {
  22.     /**
  23.      * @Route("/newsletter/enqueue-all-customers", methods={"GET"})
  24.      */
  25.     public function enqueueAllCustomers()
  26.     {
  27.         $php Console::getExecutable('php');
  28.         Console::execInBackground($php ' ' PIMCORE_PROJECT_ROOT '/bin/console cmf:newsletter-sync --enqueue-all-customers -c');
  29.         return new JsonResponse('ok');
  30.     }
  31.     /**
  32.      * @Route("/newsletter/get-queue-size", methods={"GET"})
  33.      */
  34.     public function getQueueSize(NewsletterQueueInterface $queue)
  35.     {
  36.         return new JsonResponse(['size' => $queue->getQueueSize()]);
  37.     }
  38. }