<?php
namespace App\Controller\Api;
use App\Entity\Institution;
use App\Entity\PdfmenuDocument;
use App\Service\SerializeService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
/**
* Class PdfmenuDocumentController
* @package App\Controller\Api
* @Route(path="/api/pdfmenu/document", name="api_pdfmenu_document")
*/
class PdfmenuDocumentController extends AbstractController
{
private SerializeService $serializeService;
public function __construct(SerializeService $serializeService) {
$this->serializeService = $serializeService;
}
/**
* @param Institution $institution
* @param Request $request
* @return JsonResponse
* @Route("/all/{institution}", name="findAll", requirements={"institution"="\d+"})
*/
public function findAll(Institution $institution): JsonResponse
{
/** @var PdfmenuDocument[] $pdfmenuDocuments */
$pdfmenuDocuments = [];
$data = $institution->getPdfmenuDocuments();
foreach ($data as $pdfmenuDocument) {
if ($pdfmenuDocument->isActive()) {
$pdfmenuDocuments[] = $this->serializeService->serializePdfmenuDocument($pdfmenuDocument);
}
}
return new JsonResponse([
'success' => true,
'pdfmenuDocuments' => $pdfmenuDocuments,
]);
}
/**
* @param PdfmenuDocument $pdfmenuDocument
* @param Request $request
* @return JsonResponse
* @Route("/{pdfmenuDocument}", name="find", requirements={"pdfmenuDocument"="\d+"})
*/
public function find(PdfmenuDocument $pdfmenuDocument): JsonResponse
{
return new JsonResponse([
'success' => true,
'pdfmenuDocument' => $this->serializeService->serializePdfmenuDocument($pdfmenuDocument),
]);
}
}