|
@@ -6,14 +6,12 @@ use App\Http\Controllers\Controller;
|
|
|
use App\Http\Requests\API\File\DownloadZipRequest;
|
|
|
use App\Http\Requests\API\File\FileUploadRequest;
|
|
|
use App\Http\Requests\API\File\KeepDirectoryUploadRequest;
|
|
|
-use App\Http\Resources\API\BimFileResource;
|
|
|
use App\Http\Resources\API\FileByObjectResource;
|
|
|
use App\Http\Resources\API\FileDownloadResource;
|
|
|
+use App\Http\Resources\API\FileSimpleResource;
|
|
|
use App\Http\Resources\API\FileUploadSuccessResource;
|
|
|
use App\Libraries\BIM\BIMDriverEnum;
|
|
|
use App\Libraries\ChunkedUpload\Disks\Cos;
|
|
|
-use App\Models\BimFile;
|
|
|
-use App\Models\Container;
|
|
|
use App\Models\Enums\BimFileConvertStatus;
|
|
|
use App\Models\Enums\BimFileModelType;
|
|
|
use App\Models\Enums\FileObjectType;
|
|
@@ -144,7 +142,6 @@ class FileController extends Controller
|
|
|
return $this->success([
|
|
|
'data' => $uploadedFiles
|
|
|
]);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -283,7 +280,6 @@ class FileController extends Controller
|
|
|
'bim_view' => $result,
|
|
|
]
|
|
|
]);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -303,7 +299,17 @@ class FileController extends Controller
|
|
|
*/
|
|
|
public function models(Request $request)
|
|
|
{
|
|
|
- $containerId = $request->container_id;
|
|
|
+ $inputArr = $this->validate($request, [
|
|
|
+ 'model_type' => 'in:bim,gis',
|
|
|
+ 'container_id' => 'int',
|
|
|
+ 'library_id' => 'int',
|
|
|
+ 'asset_id' => 'int',
|
|
|
+ 'project_id' => 'int',
|
|
|
+ ]);
|
|
|
+ $containerId = (int) ($inputArr['container_id'] ?? 0);
|
|
|
+ $libraryId = (int) ($inputArr['library_id'] ?? 0);
|
|
|
+ $assetId = (int) ($inputArr['asset_id'] ?? 0);
|
|
|
+ $projectId = (int) ($inputArr['project_id'] ?? 0);
|
|
|
$pageSize = (int) $request->get('page_size', 10);
|
|
|
$modelType = $request->get('model_type', 'bim');
|
|
|
|
|
@@ -312,17 +318,20 @@ class FileController extends Controller
|
|
|
default => $modelTypeArr = [BimFileModelType::BIM->value, BimFileModelType::CAD->value],
|
|
|
};
|
|
|
|
|
|
- $container = Container::query()->allowed()->findOrFail($containerId);
|
|
|
-
|
|
|
- $bimFiles = BimFile::query()
|
|
|
- ->modelType($modelTypeArr)
|
|
|
- ->whereHas('file', function ($query) use ($container) {
|
|
|
- return $query->containerLibraryId($container->library_id);
|
|
|
+ $bimFiles = File::query()
|
|
|
+ ->where('is_bim', 1)
|
|
|
+ ->where('is_latest_version', 1)
|
|
|
+ ->projectId($projectId)
|
|
|
+ ->assetId($assetId)
|
|
|
+ ->containerId($containerId)
|
|
|
+ ->containerLibraryId($libraryId)
|
|
|
+ ->with('bimFile')
|
|
|
+ ->whereHas('bimFile', function ($query) use ($modelTypeArr) {
|
|
|
+ return $query->modelType($modelTypeArr)->where('convert_status', BimFileConvertStatus::DONE->value);
|
|
|
})
|
|
|
- ->with('file')
|
|
|
->latest('id')
|
|
|
->paginate($pageSize);
|
|
|
|
|
|
- return BimFileResource::collection($bimFiles);
|
|
|
+ return FileSimpleResource::collection($bimFiles);
|
|
|
}
|
|
|
}
|