src/Controller/Api/PdfmenuDocumentController.php line 56

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Api;
  3. use App\Entity\Institution;
  4. use App\Entity\PdfmenuDocument;
  5. use App\Service\SerializeService;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. /**
  11.  * Class PdfmenuDocumentController
  12.  * @package App\Controller\Api
  13.  * @Route(path="/api/pdfmenu/document", name="api_pdfmenu_document")
  14.  */
  15. class PdfmenuDocumentController extends AbstractController
  16. {
  17.     private SerializeService $serializeService;
  18.     public function __construct(SerializeService $serializeService) {
  19.         $this->serializeService $serializeService;
  20.     }
  21.     /**
  22.      * @param Institution $institution
  23.      * @param Request $request
  24.      * @return JsonResponse
  25.      * @Route("/all/{institution}", name="findAll", requirements={"institution"="\d+"})
  26.      */
  27.     public function findAll(Institution $institution): JsonResponse
  28.     {
  29.         /** @var PdfmenuDocument[] $pdfmenuDocuments */
  30.         $pdfmenuDocuments = [];
  31.         $data $institution->getPdfmenuDocuments();
  32.         foreach ($data as $pdfmenuDocument) {
  33.             if ($pdfmenuDocument->isActive()) {
  34.                 $pdfmenuDocuments[] = $this->serializeService->serializePdfmenuDocument($pdfmenuDocument);
  35.             }
  36.         }
  37.         return new JsonResponse([
  38.             'success' => true,
  39.             'pdfmenuDocuments' => $pdfmenuDocuments,
  40.         ]);
  41.     }
  42.     /**
  43.      * @param PdfmenuDocument $pdfmenuDocument
  44.      * @param Request $request
  45.      * @return JsonResponse
  46.      * @Route("/{pdfmenuDocument}", name="find", requirements={"pdfmenuDocument"="\d+"})
  47.      */
  48.     public function find(PdfmenuDocument $pdfmenuDocument): JsonResponse
  49.     {
  50.         return new JsonResponse([
  51.             'success' => true,
  52.             'pdfmenuDocument' => $this->serializeService->serializePdfmenuDocument($pdfmenuDocument),
  53.         ]);
  54.     }
  55. }