Olivier Massot 5 months ago
parent
commit
1afdb30129

+ 1 - 8
src/Entity/Core/File.php

@@ -23,8 +23,8 @@ use App\Entity\Organization\OnlineRegistrationSettings;
 use App\Entity\Organization\Organization;
 use App\Entity\Organization\Parameters;
 use App\Entity\Person\Person;
-use App\Enum\Core\FileHostEnum;
 use App\Enum\Core\FileFolderEnum;
+use App\Enum\Core\FileHostEnum;
 use App\Enum\Core\FileStatusEnum;
 use App\Enum\Core\FileTypeEnum;
 use App\Enum\Core\FileVisibilityEnum;
@@ -83,12 +83,6 @@ class File
     #[ORM\Column(length: 255, nullable: true)]
     private ?string $slug;
 
-    /**
-     * Chemin d'accès du fichier.
-     */
-    #[ORM\Column(length: 255, nullable: true)]
-    private ?string $path;
-
     /**
      * Nom du fichier.
      */
@@ -321,7 +315,6 @@ class File
 
     /**
      * @deprecated
-     * @return string|null
      */
     public function getPath(): ?string
     {

+ 1 - 1
src/Service/Cron/Job/CleanTempFiles.php

@@ -61,7 +61,7 @@ class CleanTempFiles extends BaseCronJob
             if (($total - $i) === 50) {
                 $this->ui->print('  (...)');
             }
-            $this->ui->print('  * '.$file->getPath());
+            $this->ui->print('  * '.$file->getSlug());
         }
     }
 

+ 2 - 3
src/Service/Export/BaseExporter.php

@@ -132,9 +132,8 @@ abstract class BaseExporter
     public function prepareFile(
         ExportRequest $exportRequest,
         bool $flushFile = true,
-        ?FileFolderEnum $folder = FileFolderEnum::DOCUMENTS
-    ): File
-    {
+        ?FileFolderEnum $folder = FileFolderEnum::DOCUMENTS,
+    ): File {
         $requesterId = $exportRequest->getRequesterId();
         $requester = $this->accessRepository->find($requesterId);
         if ($requester === null) {

+ 1 - 1
src/Service/File/Storage/LocalStorage.php

@@ -8,8 +8,8 @@ use App\Entity\Access\Access;
 use App\Entity\Core\File;
 use App\Entity\Organization\Organization;
 use App\Entity\Person\Person;
-use App\Enum\Core\FileHostEnum;
 use App\Enum\Core\FileFolderEnum;
+use App\Enum\Core\FileHostEnum;
 use App\Enum\Core\FileSizeEnum;
 use App\Enum\Core\FileStatusEnum;
 use App\Enum\Core\FileTypeEnum;

+ 3 - 3
tests/Unit/Service/Cron/Job/CleanTempFilesTest.php

@@ -76,13 +76,13 @@ class CleanTempFilesTest extends TestCase
         $cleanTempFiles = $this->getMockFor('preview');
 
         $file1 = $this->getMockBuilder(File::class)->getMock();
-        $file1->method('getPath')->willReturn('/foo');
+        $file1->method('getSlug')->willReturn('/foo');
 
         $file2 = $this->getMockBuilder(File::class)->getMock();
-        $file2->method('getPath')->willReturn('/bar');
+        $file2->method('getSlug')->willReturn('/bar');
 
         $file3 = $this->getMockBuilder(File::class)->getMock();
-        $file3->method('getPath')->willReturn('/foo/bar');
+        $file3->method('getSlug')->willReturn('/foo/bar');
 
         $cleanTempFiles->method('listFilesToDelete')->with($maxDate)->willReturn([$file1, $file2, $file3]);
 

+ 10 - 1
tests/Unit/Service/Export/BaseExporterTest.php

@@ -6,6 +6,7 @@ use App\ApiResources\Export\ExportRequest;
 use App\Entity\Access\Access;
 use App\Entity\Core\File;
 use App\Entity\Organization\Organization;
+use App\Enum\Core\FileFolderEnum;
 use App\Enum\Core\FileTypeEnum;
 use App\Enum\Core\FileVisibilityEnum;
 use App\Enum\Export\ExportFormatEnum;
@@ -261,7 +262,15 @@ class BaseExporterTest extends TestCase
         $this->fileManager->expects(self::once())
             ->method('prepareFile')
             ->with(
-                $access, 'Foo.pdf', FileTypeEnum::UNKNOWN, $access, true, FileVisibilityEnum::NOBODY, 'application/pdf', false
+                $access,
+                'Foo.pdf',
+                FileTypeEnum::UNKNOWN,
+                $access,
+                true,
+                FileVisibilityEnum::NOBODY,
+                'application/pdf',
+                false,
+                FileFolderEnum::DOCUMENTS
             )->willReturn($file);
 
         $result = $exporter->prepareFile($exportRequest, false);

+ 3 - 2
tests/Unit/Service/File/FileManagerTest.php

@@ -8,6 +8,7 @@ use ApiPlatform\Metadata\UrlGeneratorInterface;
 use App\Entity\Access\Access;
 use App\Entity\Core\File;
 use App\Entity\Organization\Organization;
+use App\Enum\Core\FileFolderEnum;
 use App\Enum\Core\FileTypeEnum;
 use App\Enum\Core\FileVisibilityEnum;
 use App\Repository\Core\FileRepository;
@@ -120,7 +121,7 @@ class FileManagerTest extends TestCase
         $this->localStorage
             ->expects(self::once())
             ->method('prepareFile')
-            ->with($owner, $filename, $fileType, $createdBy, $isTemporary, $visibility, $mimeType, $flushFile);
+            ->with($owner, $filename, $fileType, $createdBy, $isTemporary, $visibility, $mimeType, $flushFile, FileFolderEnum::UNRATED);
 
         $file = $fileManager->prepareFile($owner, $filename, $fileType, $createdBy, $isTemporary, $visibility, $mimeType, $flushFile);
     }
@@ -157,7 +158,7 @@ class FileManagerTest extends TestCase
         $this->localStorage
             ->expects(self::once())
             ->method('makeFile')
-            ->with($owner, $filename, $fileType, $content, $author, $isTemporary, $visibility, $mimeType);
+            ->with($owner, $filename, $fileType, $content, $author, $isTemporary, $visibility, $mimeType, null, FileFolderEnum::UNRATED);
 
         $file = $fileManager->makeFile($owner, $filename, $fileType, $content, $author, $isTemporary, $visibility, $mimeType);
     }

+ 11 - 5
tests/Unit/Service/File/Storage/LocalStorageTest.php

@@ -6,6 +6,7 @@ use App\Entity\Access\Access;
 use App\Entity\Core\File;
 use App\Entity\Organization\Organization;
 use App\Entity\Person\Person;
+use App\Enum\Core\FileFolderEnum;
 use App\Enum\Core\FileHostEnum;
 use App\Enum\Core\FileSizeEnum;
 use App\Enum\Core\FileStatusEnum;
@@ -391,7 +392,9 @@ class LocalStorageTest extends TestCase
             $author,
             true,
             FileVisibilityEnum::ONLY_ORGANIZATION,
-            'application/pdf'
+            'application/pdf',
+            true,
+            FileFolderEnum::UNRATED
         );
 
         $this->assertEquals($owner, $file->getOrganization());
@@ -421,7 +424,7 @@ class LocalStorageTest extends TestCase
 
         $this->fileUtils->method('guessMimeTypeFromFilename')->with('file.txt')->willReturn('text/plain');
 
-        $file = $fileStorage->prepareFile($owner, 'file.txt', FileTypeEnum::NONE, $author);
+        $file = $fileStorage->prepareFile($owner, 'file.txt', FileTypeEnum::NONE, $author, false, FileVisibilityEnum::NOBODY, null, true, FileFolderEnum::UNRATED);
 
         $this->assertEquals(null, $file->getOrganization());
         $this->assertEquals($owner, $file->getPerson());
@@ -457,7 +460,8 @@ class LocalStorageTest extends TestCase
             false,
             FileVisibilityEnum::NOBODY,
             'text/plain',
-            false
+            false,
+            FileFolderEnum::UNRATED
         );
     }
 
@@ -666,7 +670,7 @@ class LocalStorageTest extends TestCase
         $fileStorage
             ->expects(self::once())
             ->method('prepareFile')
-            ->with($organization, 'foo.txt', FileTypeEnum::NONE, $author, true, FileVisibilityEnum::ONLY_ORGANIZATION, 'mime/type')
+            ->with($organization, 'foo.txt', FileTypeEnum::NONE, $author, true, FileVisibilityEnum::ONLY_ORGANIZATION, 'mime/type', false, FileFolderEnum::UNRATED)
             ->willReturn($file);
 
         $fileStorage
@@ -683,7 +687,9 @@ class LocalStorageTest extends TestCase
             $author,
             true,
             FileVisibilityEnum::ONLY_ORGANIZATION,
-            'mime/type');
+            'mime/type',
+            null,
+            FileFolderEnum::UNRATED);
     }
 
     /**