peterguo пре 1 месец
родитељ
комит
dde1ebb17c

+ 2 - 1
app/Http/Controllers/API/ActionController.php

@@ -29,11 +29,12 @@ class ActionController extends Controller
         if (ActionObjectType::CONTAINER_FILE->value == $objectType) {
             ContainerFileRepository::getAllVersionFiles($model)->each(function ($file) use (&$objectIds) {
                 $objectIds[] = $file->id;
+                $objectIds[] = $file->source_file_id;
             });
         }
 
         return $this->success([
-            'data' => ActionRepository::actionWithHistory($actionObjectType, $objectIds),
+            'data' => ActionRepository::actionWithHistory($actionObjectType, array_unique($objectIds)),
         ]);
     }
 

+ 6 - 22
app/Services/File/Upload/FilesUploadTrait.php

@@ -153,36 +153,20 @@ trait FilesUploadTrait
     protected function storeFile(array $fileArr): File
     {
         if ($fileArr['object_id'] && $fileArr['source'] == 1 || $fileArr['uuid'] && $fileArr['source'] == 1) {
-            $version = File::query()
-                ->where('object_type', $fileArr['object_type'])
-                ->where('object_id', $fileArr['object_id'])
-                ->where("title", $fileArr['title'])
-                ->where("source", 1)
-                ->where("folder_id", $fileArr['folder_id'] ?? 0)
-                ->count();
-            $fileArr['version'] = $version + 1;
-            $fileArr['is_latest_version'] = 1;
-
-            $firstFile = File::query()
+            $sameNameFile = File::query()
                 ->where('object_type', $fileArr['object_type'])
                 ->where('object_id', $fileArr['object_id'])
                 ->where("title", $fileArr['title'])
                 ->where("source", 1)
                 ->where("folder_id", $fileArr['folder_id'] ?? 0)
+                ->where('is_latest_version', 1)
                 ->first();
 
-            $fileArr['source_file_id'] = $firstFile?->id;
+            $fileArr['version'] = intval($sameNameFile?->version) + 1;
+            $fileArr['is_latest_version'] = 1;
+            $fileArr['source_file_id'] = $sameNameFile?->source_file_id ? $sameNameFile->source_file_id : $sameNameFile?->id;
 
-            File::query()
-                ->where('object_type', $fileArr['object_type'])
-                ->where('object_id', $fileArr['object_id'])
-                ->where("title", $fileArr['title'])
-                ->where("folder_id", $fileArr['folder_id'] ?? 0)
-                ->where("source", 1)
-                ->where("is_latest_version", 1)
-                ->update([
-                    'is_latest_version' => 0
-                ]);
+            $sameNameFile?->update(['is_latest_version' => 0]);
         }
 
         $file = File::query()->create($fileArr);