← Back
Editing: ReportPictureApiController.php
<?php namespace App\Controller\Api; use App\Entity\ReportPicture; use App\Service\ReportPictureService; use Doctrine\ORM\EntityManagerInterface; use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; #[IsGranted('ROLE_AGENT')] #[Route(path: '/api/report/picture', name: 'api_report_picture_')] class ReportPictureApiController extends AbstractApiController { public function __construct( private readonly ReportPictureService $reportPictureService, protected EntityManagerInterface $em, ) { parent::__construct($em); } #[Route(path: '/upload', name: 'upload')] public function upload(Request $request, string $reportPhotosDirectory): JsonResponse { /** @var UploadedFile $file */ $file = $request->getContent(); $reportPicture = $this->reportPictureService->upload( $file, $reportPhotosDirectory, $this->getUser() ); $this->em->persist($reportPicture); $this->em->flush(); return $this->response($reportPicture, 'show_report_picture'); } #[Route(path: '/delete/{id}', name: 'delete', requirements: ['id' => '\d+'])] public function delete(ReportPicture $reportPicture): JsonResponse { $this->em->remove($reportPicture); $this->em->flush(); return $this->response([]); } #[Route(path: '/{id}', name: 'get', requirements: ['id' => '\d+'], methods: ['GET'])] public function getAction(ReportPicture $reportPicture): JsonResponse { return $this->response($reportPicture, 'show_report_picture'); } }
Save File
Cancel