updat bugs fix upload dan tampil file di dailymonitoring

This commit is contained in:
Server D3 Linksehat
2025-08-27 11:23:50 +07:00
parent 633c9aeae0
commit 9900c00b8d
4 changed files with 172 additions and 167 deletions

View File

@@ -5,6 +5,7 @@ use App\Helpers\Helper;
use App\Models\DailyMonitoring; use App\Models\DailyMonitoring;
use App\Models\RequestDailyMonitoring; use App\Models\RequestDailyMonitoring;
use App\Models\MedicalPlan; use App\Models\MedicalPlan;
use App\Models\File;
use DB; use DB;
use Exception; use Exception;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -12,7 +13,6 @@ use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\File as Files; use Illuminate\Support\Facades\File as Files;
use Modules\Internal\Transformers\DailyMonitoringResource; use Modules\Internal\Transformers\DailyMonitoringResource;
use App\Models\File;
use Carbon\Carbon; use Carbon\Carbon;
@@ -281,19 +281,18 @@ class DailyMonitoringController extends Controller
// } // }
// } // }
foreach ($request->confirmation_medical_leter as $file) { foreach ($request->confirmation_medical_leter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('confirmation-medical-letter', $request->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $request->id, 'fileable_id' => $request->id,
'type' => 'confirmation-medical-letter', 'type' => 'confirmation-medical-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
} }
@@ -312,19 +311,18 @@ class DailyMonitoringController extends Controller
// } // }
// } // }
foreach ($request->medical_action_letter as $file) { foreach ($request->medical_action_letter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('medical-action-letter', $request->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $request->id, 'fileable_id' => $request->id,
'type' => 'medical-action-letter', 'type' => 'medical-action-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
} }
@@ -343,19 +341,18 @@ class DailyMonitoringController extends Controller
// } // }
// } // }
foreach ($request->result as $file) { foreach ($request->result as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('laboratorium-result', $request->id, $file);
$extension= $file->getClientOriginalExtension();
$orignalName = $file->getClientOriginalName();
$fileName = $name . '.' . $extension;
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $request->id, 'fileable_id' => $request->id,
'type' => 'laboratorium-result', 'type' => 'laboratorium-result',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -577,38 +574,36 @@ class DailyMonitoringController extends Controller
// insert file result // insert file result
if ($request->confirmation_medical_leter){ if ($request->confirmation_medical_leter){
foreach ($request->confirmation_medical_leter as $file) { foreach ($request->confirmation_medical_leter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('confirmation-medical-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'confirmation-medical-letter', 'type' => 'confirmation-medical-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
} }
} }
if ($request->medical_action_letter){ if ($request->medical_action_letter){
foreach ($request->medical_action_letter as $file) { foreach ($request->medical_action_letter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('medical-action-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'medical-action-letter', 'type' => 'medical-action-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -616,19 +611,18 @@ class DailyMonitoringController extends Controller
} }
if ($request->result){ if ($request->result){
foreach ($request->result as $file) { foreach ($request->result as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('laboratorium-result', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$orignalName = $file->getClientOriginalName();
$fileName = $name . '.' . $extension;
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'laboratorium-result', 'type' => 'laboratorium-result',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -752,38 +746,36 @@ class DailyMonitoringController extends Controller
// insert file result // insert file result
if ($request->confirmation_medical_leter){ if ($request->confirmation_medical_leter){
foreach ($request->confirmation_medical_leter as $file) { foreach ($request->confirmation_medical_leter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('confirmation-medical-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'confirmation-medical-letter', 'type' => 'confirmation-medical-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
} }
} }
if ($request->medical_action_letter){ if ($request->medical_action_letter){
foreach ($request->medical_action_letter as $file) { foreach ($request->medical_action_letter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('medical-action-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'medical-action-letter', 'type' => 'medical-action-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -791,19 +783,19 @@ class DailyMonitoringController extends Controller
} }
if ($request->result){ if ($request->result){
foreach ($request->result as $file) { foreach ($request->result as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('laboratorium-result', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$orignalName = $file->getClientOriginalName();
$fileName = $name . '.' . $extension;
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'laboratorium-result', 'type' => 'laboratorium-result',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);

View File

@@ -280,19 +280,18 @@ class DailyMonitoringController extends Controller
// } // }
// } // }
foreach ($request->confirmation_medical_leter as $file) { foreach ($request->confirmation_medical_leter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('confirmation-medical-letter', $request->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $request->id, 'fileable_id' => $request->id,
'type' => 'confirmation-medical-letter', 'type' => 'confirmation-medical-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
} }
@@ -311,19 +310,18 @@ class DailyMonitoringController extends Controller
// } // }
// } // }
foreach ($request->medical_action_letter as $file) { foreach ($request->medical_action_letter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('confirmation-medical-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $request->id, 'fileable_id' => $request->id,
'type' => 'medical-action-letter', 'type' => 'confirmation-medical-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
} }
@@ -342,19 +340,18 @@ class DailyMonitoringController extends Controller
// } // }
// } // }
foreach ($request->result as $file) { foreach ($request->result as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('laboratorium-result', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$orignalName = $file->getClientOriginalName();
$fileName = $name . '.' . $extension;
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $request->id, 'fileable_id' => $request->id,
'type' => 'laboratorium-result', 'type' => 'laboratorium-result',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -576,38 +573,36 @@ class DailyMonitoringController extends Controller
// insert file result // insert file result
if ($request->confirmation_medical_leter){ if ($request->confirmation_medical_leter){
foreach ($request->confirmation_medical_leter as $file) { foreach ($request->confirmation_medical_leter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('confirmation-medical-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'confirmation-medical-letter', 'type' => 'confirmation-medical-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
} }
} }
if ($request->medical_action_letter){ if ($request->medical_action_letter){
foreach ($request->medical_action_letter as $file) { foreach ($request->medical_action_letter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('medical-action-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'medical-action-letter', 'type' => 'medical-action-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -615,19 +610,18 @@ class DailyMonitoringController extends Controller
} }
if ($request->result){ if ($request->result){
foreach ($request->result as $file) { foreach ($request->result as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('laboratorium-result', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$orignalName = $file->getClientOriginalName();
$fileName = $name . '.' . $extension;
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'laboratorium-result', 'type' => 'laboratorium-result',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -751,38 +745,36 @@ class DailyMonitoringController extends Controller
// insert file result // insert file result
if ($request->confirmation_medical_leter){ if ($request->confirmation_medical_leter){
foreach ($request->confirmation_medical_leter as $file) { foreach ($request->confirmation_medical_leter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('confirmation-medical-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'confirmation-medical-letter', 'type' => 'confirmation-medical-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
} }
} }
if ($request->medical_action_letter){ if ($request->medical_action_letter){
foreach ($request->medical_action_letter as $file) { foreach ($request->medical_action_letter as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('medical-action-letter', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$orignalName = $file->getClientOriginalName();
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'medical-action-letter', 'type' => 'medical-action-letter',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);
@@ -790,19 +782,18 @@ class DailyMonitoringController extends Controller
} }
if ($request->result){ if ($request->result){
foreach ($request->result as $file) { foreach ($request->result as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('laboratorium-result', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$orignalName = $file->getClientOriginalName();
$fileName = $name . '.' . $extension;
$path = $file->storeAs($this->path_for_store, $fileName);
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'laboratorium-result', 'type' => 'laboratorium-result',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $orignalName, 'original_name' => $file->getClientOriginalName(),
'extension' => $extension, 'extension' => $file->getClientOriginalExtension(),
'path' => $path, 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
// $file->storeAs($this->path_for_store, $fileName); // $file->storeAs($this->path_for_store, $fileName);

View File

@@ -110,18 +110,19 @@ class LaboratoriumResultController extends Controller
// insert file result // insert file result
foreach ($request->lab_result_file as $file) { foreach ($request->lab_result_file as $file) {
$name = 'labresult-' . uniqid(); $fileData = File::storeFile('laboratorium-result', $db_response->id, $file);
$extension= $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
File::create([ File::create([
'fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $db_response->id, 'fileable_id' => $db_response->id,
'type' => 'laboratorium-result', 'type' => 'laboratorium-result',
'name' => $name, 'name' => $fileData['name'],
'original_name' => $fileName, 'original_name' => $orignalName,
'extension' => $extension, 'extension' => $file->getClientOriginalName(),
'path' => '', 'source' => env('FILESYSTEM_DISK'),
'path' => $fileData['path'],
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]); ]);
$file->storeAs($this->path_for_store, $fileName); $file->storeAs($this->path_for_store, $fileName);

View File

@@ -5,6 +5,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use DB; use DB;
@@ -111,16 +112,36 @@ class RequestDailyMonitoring extends Model
'fileable_id' => $this->attributes['id'], 'fileable_id' => $this->attributes['id'],
'deleted_at' => null, 'deleted_at' => null,
])->get(); ])->get();
foreach ($document as $row) { foreach ($document as $row) {
// Jika path kosong, kembalikan null
if (!$row->path) {
return null;
}
// Cek nilai 'source'. Jika 's3', gunakan disk S3.
// Selain itu (termasuk null atau 'local'), gunakan disk 'public'.
if ($row->source === 's3') {
try {
$path = Storage::disk('s3')->temporaryUrl(
$row->path,
now()->addMinutes(60) // expired 1 jam
);
} catch (\Exception $e) {
$path = Storage::disk('s3')->url($row->path); // fallback kalau public
}
} else {
$path = Storage::disk('public')->url($row->path);
}
$arr_document[] = [ $arr_document[] = [
'id' => $row->id, 'id' => $row->id,
'file_name' => $row->original_name, 'file_name' => $row->original_name,
'path' => env('APP_URL') . '/storage/lab_result/' . $row->name .'.'. $row->extension, // 'path' => env('APP_URL') . '/storage/lab_result/' . $row->name .'.'. $row->extension,
'path' => $path,
'type' => $row->type, 'type' => $row->type,
]; ];
} }
return $arr_document; return $arr_document;
} }