|
@@ -6,6 +6,7 @@ use App\Http\Resources\API\FileUploadSuccessResource;
|
|
use App\Models\ContainerContent;
|
|
use App\Models\ContainerContent;
|
|
use App\Models\Enums\FileObjectType;
|
|
use App\Models\Enums\FileObjectType;
|
|
use App\Models\File;
|
|
use App\Models\File;
|
|
|
|
+use App\Services\File\BIM\BIMFactory;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\UploadedFile;
|
|
use Illuminate\Http\UploadedFile;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Auth;
|
|
@@ -41,10 +42,17 @@ trait FilesUploadTrait
|
|
|
|
|
|
protected function uploadFile(Request $request, UploadedFile $file): array
|
|
protected function uploadFile(Request $request, UploadedFile $file): array
|
|
{
|
|
{
|
|
- $pathname = $file->storeAs(
|
|
|
|
|
|
+ /*$pathname = $file->storeAs(
|
|
sprintf("c%s/%s/%s", Auth::user()->company_id, $request->get("object_type"), date("Ymd")),
|
|
sprintf("c%s/%s/%s", Auth::user()->company_id, $request->get("object_type"), date("Ymd")),
|
|
sprintf("%s.%s", md5(uniqid()), $file->extension())
|
|
sprintf("%s.%s", md5(uniqid()), $file->extension())
|
|
- );
|
|
|
|
|
|
+ );*/
|
|
|
|
+
|
|
|
|
+ $pathname = "/test/test.jpg";
|
|
|
|
+
|
|
|
|
+ $extension = $file->extension() ? $file->extension() : pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION);
|
|
|
|
+ if (in_array($extension, config("bim.extensions")) && $request->object_type == FileObjectType::CONTAINER->value) {
|
|
|
|
+ $this->uploadToBIM($file);
|
|
|
|
+ }
|
|
|
|
|
|
throw_validation_if(! $pathname, "File upload failed.");
|
|
throw_validation_if(! $pathname, "File upload failed.");
|
|
|
|
|
|
@@ -52,7 +60,7 @@ trait FilesUploadTrait
|
|
'pathname' => $pathname,
|
|
'pathname' => $pathname,
|
|
'title' => $file->getClientOriginalName(),
|
|
'title' => $file->getClientOriginalName(),
|
|
'size' => $file->getSize(),
|
|
'size' => $file->getSize(),
|
|
- 'extension' => $file->extension(),
|
|
|
|
|
|
+ 'extension' => $extension,
|
|
'object_type' => $request->object_type,
|
|
'object_type' => $request->object_type,
|
|
'object_id' => $request->object_id,
|
|
'object_id' => $request->object_id,
|
|
'created_by' => Auth::id(),
|
|
'created_by' => Auth::id(),
|
|
@@ -99,6 +107,11 @@ trait FilesUploadTrait
|
|
return $uploadedFiles;
|
|
return $uploadedFiles;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ protected function uploadToBIM(UploadedFile $file)
|
|
|
|
+ {
|
|
|
|
+ BIMFactory::make()->uploadFile($file);
|
|
|
|
+ }
|
|
|
|
+
|
|
protected function updateObjectVersion()
|
|
protected function updateObjectVersion()
|
|
{
|
|
{
|
|
if (!$this->object) {
|
|
if (!$this->object) {
|