radfusion/app/Http/Controllers/Staff/StudyViewerController.php
2025-01-04 10:08:34 +06:00

32 lines
805 B
PHP

<?php
namespace App\Http\Controllers\Staff;
use App\Http\Controllers\HashidControllerBase;
use App\Models\Study;
use Illuminate\Support\Str;
class StudyViewerController extends HashidControllerBase
{
private function loadViewer(\Closure $callback)
{
$this->decodeKeys();
$study = Study::findOrFail($this->key);
$url = $callback($study);
abort_if(blank($url), 404);
$title = Str::limit($study->patient_name, 20).' | '.config('app.name');
return view('staff.studies.viewer', compact('url', 'title'));
}
public function stone()
{
return $this->loadViewer(fn (Study $study) => $study->getStoneLink());
}
public function ohif()
{
return $this->loadViewer(fn (Study $study) => $study->getOhifLink());
}
}