Sangfroid 4 сар өмнө
parent
commit
383d214e8d

+ 13 - 3
src/Controller/RealisateurController.php

@@ -17,7 +17,8 @@ class RealisateurController extends AbstractController
 {
     
     #[Route("/real", name: "realisateur_liste")]     
-    public function indexAction(RealisateurRepository $repo) {
+    public function indexAction(RealisateurRepository $repo) : Response
+	{
         $realisateurs = $repo->findAll();
 
         return $this->render('realisateur/liste.html.twig', array(
@@ -47,7 +48,11 @@ class RealisateurController extends AbstractController
 
 	
 	#[Route("/real/modifier/{id}", name: "realisateur_modifier")]
-	public function modifierAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager): Response
+	public function modifierAction(
+		Request $request,
+		Realisateur $realisateur,
+		RealisateurManager $realisateurManager
+	): Response
 	{
 		$form = $this->createForm(RealisateurType::class, $realisateur);
 		$form->handleRequest($request);
@@ -68,7 +73,12 @@ class RealisateurController extends AbstractController
 	
 	#[Route("/real/supprimer/{id}", name: "realisateur_supprimer")]
     #[IsGranted("ROLE_ADMIN")]
-	public function supprimerAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager, FormFactoryInterface $ffi): Response
+	public function supprimerAction(
+		Request $request,
+		Realisateur $realisateur,
+		RealisateurManager $realisateurManager,
+		FormFactoryInterface $ffi
+	): Response
     {
 		$form = $ffi->create();
         $form->handleRequest($request);

+ 29 - 5
src/Controller/VideothequeCrudController.php

@@ -19,7 +19,12 @@ use Symfony\Component\Security\Http\Attribute\IsGranted;
 class VideothequeCrudController extends AbstractController
 {
     #[Route("/maliste/modifieravoir", name:"maliste_modifier_a_voir", methods: ['PATCH'])]
-    public function modifierFilmDansListeAction(Request $request, EntityManagerInterface $em, FilmRepository $repo, FilmManager $filmManager): Response
+    public function modifierFilmDansListeAction(
+        Request $request,
+        EntityManagerInterface $em,
+        FilmRepository $repo,
+        FilmManager $filmManager
+    ): Response
     {
         $result = null;
         $film = $repo->find($request->toArray()['id_film']);
@@ -30,7 +35,12 @@ class VideothequeCrudController extends AbstractController
     }
 
     #[Route("/maliste/modifiervus", name:"maliste_modifier_vus", methods: ['PATCH'])]
-    public function modifierFilmVusAction(Request $request, FilmRepository $repo, EntityManagerInterface $em, FilmManager $filmManager): Response
+    public function modifierFilmVusAction(
+        Request $request,
+        FilmRepository $repo,
+        EntityManagerInterface $em,
+        FilmManager $filmManager
+    ): Response
     {
         $result = null;
 
@@ -41,7 +51,12 @@ class VideothequeCrudController extends AbstractController
     }
 
     #[Route("/ajouter/{idtmdb}", name: "videotheque_ajouter")]
-	public function ajouterAction(Request $request, FilmManager $filmManager, TmdbApiService $tmdbApiService, ?string $idtmdb = null): Response
+	public function ajouterAction(
+        Request $request,
+        FilmManager $filmManager,
+        TmdbApiService $tmdbApiService,
+        ?string $idtmdb = null
+    ): Response
 	{
         if ($idtmdb !== null) {
             $film = $tmdbApiService->hydrateFilm($idtmdb);
@@ -103,7 +118,11 @@ class VideothequeCrudController extends AbstractController
     }
 
 	#[Route("/modifier/{id}", name: "videotheque_modifier")]
-	public function modifierAction(Request $request, Film $film, FilmManager $filmManager): Response
+	public function modifierAction(
+        Request $request,
+        Film $film,
+        FilmManager $filmManager
+    ): Response
 	{
 		$form = $this->createForm(FilmType::class, $film);
 		$form->handleRequest($request);
@@ -121,7 +140,12 @@ class VideothequeCrudController extends AbstractController
 
 	#[Route("/supprimer/{id}", name: "videotheque_supprimer")]
     #[IsGranted("ROLE_ADMIN")]
-	public function supprimerAction(Request $request, Film $film, FilmManager $filmManager, FormFactoryInterface $ffi): Response
+	public function supprimerAction(
+        Request $request,
+        Film $film,
+        FilmManager $filmManager,
+        FormFactoryInterface $ffi
+    ): Response
 	{
         $form = $ffi->create();
         $form->handleRequest($request);

+ 8 - 1
src/Controller/VideothequeListController.php

@@ -4,6 +4,7 @@ namespace App\Controller;
 
 use App\Dto\FiltersDTO;
 use App\Entity\Commentaire;
+use App\Entity\Film;
 use App\Entity\Realisateur;
 use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\Routing\Attribute\Route;
@@ -155,7 +156,13 @@ class VideothequeListController extends AbstractController
     }
 
 	#[Route("/fichefilm/{id}", name: "videotheque_voirfilm")]
-	public function voirFilmAction(Request $request, \App\Entity\Film $film, CommentaireManager $cm, Security $security, CommentaireRepository $repo): Response
+	public function voirFilmAction(
+        Request $request,
+        Film $film,
+        CommentaireManager $cm,
+        Security $security,
+        CommentaireRepository $repo
+    ): Response
     {
         if ($security->isGranted('IS_AUTHENTICATED_REMEMBERED'))
         {

+ 18 - 0
src/Dto/FilmDto.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Dto;
+
+class FilmDto
+{
+    public function __construct(
+        public readonly string $titre,
+        public readonly \DateTimeImmutable $dateSortie,
+        public readonly array $genres,
+        public readonly array $realisateurs,
+        public readonly string $information,
+        public readonly string $idTmdb,
+    )
+    {
+        
+    }
+}

+ 2 - 1
src/Entity/Commentaire.php

@@ -3,6 +3,7 @@
 namespace App\Entity;
 
 use App\Repository\CommentaireRepository;
+use Doctrine\DBAL\Types\Types;
 use Doctrine\ORM\Mapping as ORM;
 
 #[ORM\Table(name: "commentaire")]
@@ -33,7 +34,7 @@ class Commentaire
 
     private ?User $user = null;
 
-    #[ORM\Column(type: "datetime", nullable: true)]
+    #[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
     private ?\DateTimeInterface $dateSubmitted = null;
 
     public function __construct ()

+ 3 - 0
src/Entity/Film.php

@@ -171,6 +171,9 @@ class Film
         return $this;
     }
 
+    /**
+     * @return Collection<int, Commentaire>
+     */
     public function getCommentaires(): Collection
     {
         return $this->commentaires;

+ 2 - 1
src/Entity/Genre.php

@@ -3,6 +3,7 @@
 namespace App\Entity;
 
 use App\Repository\GenreRepository;
+use Doctrine\DBAL\Types\Types;
 use Doctrine\ORM\Mapping as ORM;
 
 #[ORM\Table(name: "genre")]
@@ -16,7 +17,7 @@ class Genre
     
     private ?int $id = null;
 
-    #[ORM\Column(name: "name", type: "string", length: 191, unique: true)]
+    #[ORM\Column(name: "name", type: Types::STRING, length: 191, unique: true)]
     
     private ?string $name = null;
 

+ 3 - 2
src/Entity/MediaVideo.php

@@ -3,6 +3,7 @@
 namespace App\Entity;
 
 use App\Repository\MediaVideoRepository;
+use Doctrine\DBAL\Types\Types;
 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;
 
@@ -18,11 +19,11 @@ class MediaVideo
     
     private ?int $id = null;
 
-    #[ORM\Column(name: "type", type: "string", length: 191)]
+    #[ORM\Column(name: "type", type: Types::STRING, length: 191)]
     
     private ?string $type = null;
 
-    #[ORM\Column(name: "identif", type: "string", length: 191)]
+    #[ORM\Column(name: "identif", type: Types::STRING, length: 191)]
     
     private ?string $identif = null;
 

+ 2 - 2
src/Repository/CommentaireRepository.php

@@ -19,7 +19,7 @@ class CommentaireRepository extends ServiceEntityRepository
         parent::__construct($registry, Commentaire::class);
     }
 
-    public function findLast ($limit = 5)
+    public function findLast ($limit = 5): array
     {
         return $qb = $this->createQueryBuilder('c')
             ->innerJoin('c.film', 'flm')->addSelect('flm')
@@ -42,7 +42,7 @@ class CommentaireRepository extends ServiceEntityRepository
         ;
     }
 
-    public function findFirstDateAdded()
+    public function findFirstDateAdded(): ?Commentaire
     {
         // Construire une requête pour obtenir la première date d'ajout
         return $this->createQueryBuilder('c')

+ 1 - 1
src/Repository/GenreRepository.php

@@ -26,7 +26,7 @@ class GenreRepository extends ServiceEntityRepository
         parent::__construct($registry, Genre::class);   
     }
 
-    public function findGenres ()
+    public function findGenres (): array
     {
         $qb = $this->createQueryBuilder('g');
         $query = $qb

+ 4 - 3
src/Repository/RealisateurRepository.php

@@ -19,7 +19,8 @@ class RealisateurRepository extends ServiceEntityRepository
     {
         parent::__construct($registry, Realisateur::class);  
     }
-    public function findByNom($nom)
+
+    public function findByNom(string $nom): array
     {
         $qb = $this->createQueryBuilder ('r');
         $expr = $qb->expr();
@@ -33,7 +34,7 @@ class RealisateurRepository extends ServiceEntityRepository
         return $query->getResult();
     }
 
-    public function findByNomComplet($nomComplet)
+    public function findByNomComplet(string $nomComplet): array
     {
         $qb = $this->createQueryBuilder ('r');
         $expr = $qb->expr();
@@ -78,7 +79,7 @@ class RealisateurRepository extends ServiceEntityRepository
         return $query->getResult();
     }
 
-    public function findNomsComplets ()
+    public function findNomsComplets (): array
     {
         $qb = $this->createQueryBuilder('r');
         $query = $qb

+ 1 - 1
src/Repository/UserRepository.php

@@ -20,7 +20,7 @@ class UserRepository extends ServiceEntityRepository
         parent::__construct($registry, User::class);
     }
 
-    public function findUser($userId)
+    public function findUser(int $userId): User
     {
         $qb = $this
             ->createQueryBuilder('u')

+ 1 - 2
src/Service/FilmManager.php

@@ -2,6 +2,7 @@
 
 namespace App\Service;
 
+use App\Entity\Commentaire;
 use App\Entity\Film;
 use App\Entity\User;
 use Doctrine\ORM\EntityManagerInterface;
@@ -41,13 +42,11 @@ class FilmManager {
     public function delFilm(Film $film): void
     {
         $commentaires = $film->getCommentaires();
-        /** @var \App\Entity\Commentaire $commentaire */
         foreach($commentaires as $commentaire) {
             $this->cm->delCommentaire($commentaire);
         }
 
         $mediaVideos = $film->getMediaVideos();
-        /** @var \App\Entity\MediaVideo $mediaVideos */
         foreach($mediaVideos as $media) {
             $this->mvm->delMediaVideo($media);
         }