Browse Source

fix phpstan and code style

Olivier Massot 1 year ago
parent
commit
8011433c48

+ 7 - 6
src/Doctrine/Booking/AttendanceBookingReasonExtension.php

@@ -1,4 +1,5 @@
 <?php
+
 declare(strict_types=1);
 
 namespace App\Doctrine\Booking;
@@ -7,21 +8,21 @@ use ApiPlatform\Metadata\Operation;
 use App\Doctrine\AbstractExtension;
 use App\Entity\Access\Access;
 use App\Entity\Booking\AttendanceBookingReason;
-use App\Entity\Booking\Course;
 use Doctrine\ORM\QueryBuilder;
 use Symfony\Bundle\SecurityBundle\Security;
 
 /**
- * Class AttendanceBookingReasonExtension : Filtre de sécurité par défaut pour une resource AttendanceBookingReason
- * @package App\Doctrine\Core
+ * Class AttendanceBookingReasonExtension : Filtre de sécurité par défaut pour une resource AttendanceBookingReason.
  */
 final class AttendanceBookingReasonExtension extends AbstractExtension
 {
     public function __construct(private Security $security)
-    { }
+    {
+    }
 
-    public function supports(string $resourceClass, ?Operation $operation): bool {
-        return $resourceClass === AttendanceBookingReason::class;
+    public function supports(string $resourceClass, ?Operation $operation): bool
+    {
+        return AttendanceBookingReason::class === $resourceClass;
     }
 
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass, ?Operation $operation): void

+ 1 - 0
src/Entity/Booking/AttendanceBooking.php

@@ -129,6 +129,7 @@ class AttendanceBooking
     public function setReason(?AttendanceBookingReason $reason): self
     {
         $this->reason = $reason;
+
         return $this;
     }
 }

+ 9 - 4
src/Entity/Booking/AttendanceBookingReason.php

@@ -1,4 +1,5 @@
 <?php
+
 namespace App\Entity\Booking;
 
 use ApiPlatform\Metadata\ApiResource;
@@ -14,14 +15,13 @@ use Doctrine\Common\Collections\Collection;
 use Doctrine\ORM\Mapping as ORM;
 
 /**
- * Motif d'absence ou de retard
+ * Motif d'absence ou de retard.
  *
  * Security :
  *
  *   @see \App\Doctrine\Education\AttendanceBookingReasonExtension.php
  */
 #[ApiResource(
-
     operations: [
         new Get(
             security: 'is_granted(\'ROLE_ORGANIZATION_VIEW\') and object.getOrganization().getId() == user.getOrganization().getId()'
@@ -39,9 +39,9 @@ use Doctrine\ORM\Mapping as ORM;
             security: 'is_granted(\'ROLE_ORGANIZATION_VIEW\') and is_granted(\'ROLE_GENERAL_CONFIG\')'
         )]
 )]
-//#[Auditable]
+// #[Auditable]
 #[ORM\Table(name: 'AttendanceBookingReason')]
-#[OrganizationDefaultValue(fieldName: "organization")]
+#[OrganizationDefaultValue(fieldName: 'organization')]
 #[ORM\Entity]
 class AttendanceBookingReason
 {
@@ -73,6 +73,7 @@ class AttendanceBookingReason
     public function setId(?int $id): self
     {
         $this->id = $id;
+
         return $this;
     }
 
@@ -84,6 +85,7 @@ class AttendanceBookingReason
     public function setOrganization(?Organization $organization): self
     {
         $this->organization = $organization;
+
         return $this;
     }
 
@@ -95,6 +97,7 @@ class AttendanceBookingReason
     public function setReason(string $reason): self
     {
         $this->reason = $reason;
+
         return $this;
     }
 
@@ -109,6 +112,7 @@ class AttendanceBookingReason
             $this->attendanceBookings[] = $attendanceBooking;
             $attendanceBooking->setReason($this);
         }
+
         return $this;
     }
 
@@ -120,6 +124,7 @@ class AttendanceBookingReason
                 $attendanceBooking->setReason(null);
             }
         }
+
         return $this;
     }
 }

+ 0 - 2
src/Serializer/DefaultNormalizer.php

@@ -6,8 +6,6 @@ namespace App\Serializer;
 
 use App\Entity\Access\Access;
 use App\Service\Utils\EntityUtils;
-use ArrayObject;
-use ReflectionException;
 use Symfony\Bundle\SecurityBundle\Security;
 use Symfony\Component\Serializer\Exception\ExceptionInterface;
 use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;

+ 11 - 18
src/Service/Cron/Job/CleanTempFiles.php

@@ -10,12 +10,9 @@ use App\Service\Cron\BaseCronJob;
 use App\Service\Cron\CronjobInterface;
 use App\Service\File\Storage\LocalStorage;
 use App\Service\Utils\DatesUtils;
-use DateTime;
-use Doctrine\Common\Collections\Collection;
 use Doctrine\DBAL\Connection;
 use Doctrine\DBAL\ConnectionException;
 use Doctrine\ORM\QueryBuilder;
-use Exception;
 use JetBrains\PhpStorm\Pure;
 
 /**
@@ -86,10 +83,11 @@ class CleanTempFiles extends BaseCronJob implements CronjobInterface
     }
 
     /**
-     * List the files to delete in the DB
-     * @param \DateTime $maxDate
+     * List the files to delete in the DB.
+     *
      * @return array<File>
-     * @throws Exception
+     *
+     * @throws \Exception
      */
     protected function listFilesToDelete(\DateTime $maxDate): array
     {
@@ -131,12 +129,10 @@ class CleanTempFiles extends BaseCronJob implements CronjobInterface
     }
 
     /**
-     * Purge File table and returns the number of deleted records
-     *
-     * @param DateTime $maxDate
-     * @return int
+     * Purge File table and returns the number of deleted records.
      */
-    protected function purgeFiles(\DateTime $maxDate): int {
+    protected function purgeFiles(\DateTime $maxDate): int
+    {
         $queryBuilder = $this->fileRepository->createQueryBuilder('f');
         $queryBuilder->delete();
         $this->getQueryConditions($queryBuilder, $maxDate);
@@ -148,9 +144,9 @@ class CleanTempFiles extends BaseCronJob implements CronjobInterface
      * Delete the files.
      *
      * @param array<File> $files
-     * @return void
      */
-    protected function deleteFiles(array $files): void {
+    protected function deleteFiles(array $files): void
+    {
         $total = count($files);
         $this->ui->print($total.' temporary files to be removed');
 
@@ -172,11 +168,8 @@ class CleanTempFiles extends BaseCronJob implements CronjobInterface
         $this->ui->print($deleted.' files deleted');
     }
 
-    /**
-     * @param QueryBuilder $queryBuilder
-     * @param \DateTime $maxDate
-     */
-    protected function getQueryConditions(QueryBuilder $queryBuilder, \DateTime $maxDate): void {
+    protected function getQueryConditions(QueryBuilder $queryBuilder, \DateTime $maxDate): void
+    {
         $queryBuilder
             ->andWhere(
                 $queryBuilder->expr()->orX(

+ 14 - 11
src/Service/Utils/Path.php

@@ -39,13 +39,13 @@ class Path
      * ['dir','0','a.jpg']  >  'dir/0/a.jpg'
      *
      * @param string ...$paths
-     * @return string
      */
     public static function join(string|int ...$paths): string
     {
-        $paths = array_map(function ($x) { return "".$x; }, $paths);
-        $paths = array_filter($paths, static function ($s) { return $s !== ''; });
-        return preg_replace('#/+#','/', implode('/', $paths));
+        $paths = array_map(function ($x) { return ''.$x; }, $paths);
+        $paths = array_filter($paths, static function ($s) { return '' !== $s; });
+
+        return preg_replace('#/+#', '/', implode('/', $paths));
     }
 
     /**
@@ -61,9 +61,11 @@ class Path
     /**
      * Reads the content of a file.
      *
-     * @param string $path The path to the file to be read.
-     * @return string The content of the file.
-     * @throws RuntimeException If the file could not be read.
+     * @param string $path the path to the file to be read
+     *
+     * @return string the content of the file
+     *
+     * @throws \RuntimeException if the file could not be read
      */
     public static function read(string $path): string
     {
@@ -90,8 +92,9 @@ class Path
     /**
      * Recursively removes a directory and all its contents.
      *
-     * @param string $path The path to the directory to be removed.
-     * @return bool Returns true if the directory was successfully removed, false otherwise.
+     * @param string $path the path to the directory to be removed
+     *
+     * @return bool returns true if the directory was successfully removed, false otherwise
      */
     protected static function rmtree(string $path): bool
     {
@@ -104,11 +107,11 @@ class Path
         }
 
         foreach (scandir($path) as $item) {
-            if ($item == '.' || $item == '..') {
+            if ('.' == $item || '..' == $item) {
                 continue;
             }
 
-            if (!self::rmtree($path . DIRECTORY_SEPARATOR . $item)) {
+            if (!self::rmtree($path.DIRECTORY_SEPARATOR.$item)) {
                 return false;
             }
         }

+ 27 - 9
tests/Unit/Service/Cron/Job/CleanTempFilesTest.php

@@ -8,8 +8,6 @@ use App\Service\Cron\Job\CleanTempFiles;
 use App\Service\Cron\UI\CronUIInterface;
 use App\Service\File\Storage\LocalStorage;
 use App\Service\Utils\DatesUtils;
-use Doctrine\Common\Collections\ArrayCollection;
-use Doctrine\Common\Collections\Collection;
 use Doctrine\DBAL\Connection;
 use Doctrine\ORM\AbstractQuery;
 use Doctrine\ORM\QueryBuilder;
@@ -17,12 +15,32 @@ use PHPUnit\Framework\MockObject\MockObject;
 use PHPUnit\Framework\TestCase;
 use Psr\Log\LoggerInterface;
 
-class TestableCleanTempFile extends CleanTempFiles {
-    public function listFilesToDelete(\DateTime $maxDate): array { return parent::listFilesToDelete($maxDate); }
-    public function deleteFiles(array $files): void { parent::deleteFiles($files); }
-    public function purgeDb(\DateTime $maxDate, bool $commit = true): void { parent::purgeDb($maxDate, $commit); }
-    public function purgeFiles(\DateTime $maxDate): int { return parent::purgeFiles($maxDate); }
-    public function getQueryConditions(QueryBuilder $queryBuilder, \DateTime $maxDate): void { parent::getQueryConditions($queryBuilder, $maxDate); }
+class TestableCleanTempFile extends CleanTempFiles
+{
+    public function listFilesToDelete(\DateTime $maxDate): array
+    {
+        return parent::listFilesToDelete($maxDate);
+    }
+
+    public function deleteFiles(array $files): void
+    {
+        parent::deleteFiles($files);
+    }
+
+    public function purgeDb(\DateTime $maxDate, bool $commit = true): void
+    {
+        parent::purgeDb($maxDate, $commit);
+    }
+
+    public function purgeFiles(\DateTime $maxDate): int
+    {
+        return parent::purgeFiles($maxDate);
+    }
+
+    public function getQueryConditions(QueryBuilder $queryBuilder, \DateTime $maxDate): void
+    {
+        parent::getQueryConditions($queryBuilder, $maxDate);
+    }
 }
 
 class CleanTempFilesTest extends TestCase
@@ -98,7 +116,7 @@ class CleanTempFilesTest extends TestCase
         $files = [
             $this->getMockBuilder(File::class)->getMock(),
             $this->getMockBuilder(File::class)->getMock(),
-            $this->getMockBuilder(File::class)->getMock()
+            $this->getMockBuilder(File::class)->getMock(),
         ];
 
         $cleanTempFiles->method('listFilesToDelete')->willReturn($files)->with($maxDate);