Skip to content
Snippets Groups Projects
PrepareMenuController.php 931 B
Newer Older
Akex's avatar
Akex committed
<?php

namespace App\Controller;

use App\Actions\PrepareMenuAction;
use App\Requests\MenuRequest;
Akex's avatar
Akex committed
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;

class PrepareMenuController extends AbstractController
{
Akex's avatar
Akex committed
    /**
     * Контроллер реструктурирует массив меню добавляя вложенность по значению depth
     * используюя prepareMenu функцию
     * @param MenuRequest $request
     * @param PrepareMenuAction $action
Akex's avatar
Akex committed
     * @return Response
     */
Akex's avatar
Akex committed
    #[Route('/prepare/menu', name: 'app_prepare_menu', methods: ['POST'])]
    public function index(MenuRequest $request, PrepareMenuAction $action): Response
Akex's avatar
Akex committed
    {
        return new JsonResponse($action->act($request->serialise()));
Akex's avatar
Akex committed
    }
}