radfusion/routes/web.php
2025-01-07 02:19:51 +06:00

100 lines
4.3 KiB
PHP

<?php
use App\Http\Controllers\Api\WorklistController as ApiWorklistController;
use App\Http\Controllers\Guest\ViewSharedStudyController;
use App\Http\Controllers\Radiologist\ReportWriteController;
use App\Http\Controllers\SocialLoginController;
use App\Http\Controllers\Staff\AttachmentController;
use App\Http\Controllers\Staff\StudiesController;
use App\Http\Controllers\Staff\StudyAssignmentController;
use App\Http\Controllers\Staff\StudyHistoryController;
use App\Http\Controllers\Staff\StudyViewerController;
use App\Http\Controllers\Staff\WorklistController;
use App\Http\Controllers\StudyMetadataController;
use App\Http\Controllers\System\SyncOrthancController;
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
// dd(Radiologist::assignables());
return view('welcome');
});
Route::group(['prefix' => 'pacs', 'as' => 'pacs.'], function () {
Route::get('sync', SyncOrthancController::class)->name('sync');
});
Route::middleware([
'auth:sanctum',
config('jetstream.auth_session'),
'verified',
])->group(function () {
Route::get('dashboard', function () {
return view('dashboard');
})->name('dashboard');
Route::group(['prefix' => 'api', 'as' => 'api.'], function () {
Route::get('studies', [ApiWorklistController::class, 'studies'])->name('studies');
});
Route::group(['prefix' => 'radiologist', 'as' => 'radiologist.'], function () {
Route::get('report-write/{id}', ReportWriteController::class)->name('report-write');
});
Route::group(['prefix' => 'viewer', 'as' => 'viewer.'], function () {
Route::get('stone/{hashid}', [StudyViewerController::class, 'stone'])->name('stone');
Route::get('ohif/{hashid}', [StudyViewerController::class, 'ohif'])->name('ohif');
});
Route::group(['as' => 'staff.'], function () {
Route::group(['prefix' => 'worklist', 'as' => 'worklist.'], function () {
Route::get('/', [WorklistController::class, 'index'])->name('index');
// Route::get('{hashid}/edit', [WorklistController::class, 'edit'])->name('edit');
});
Route::group(['prefix' => 'studies', 'as' => 'studies.'], function () {
Route::get('show', [StudiesController::class, 'show'])->name('show');
Route::get('attach', [StudiesController::class, 'attachments'])->name('attach');
});
Route::group(['prefix' => 'assign', 'as' => 'assign.'], function () {
Route::get('', [StudyAssignmentController::class, 'show'])->name('show');
Route::post('{hashid}', [StudyAssignmentController::class, 'save'])->name('save');
Route::delete('{hashid}', [StudyAssignmentController::class, 'remove'])->name('remove');
});
Route::group(['prefix' => 'history', 'as' => 'history.'], function () {
Route::get('{hashid}', [StudyHistoryController::class, 'view'])->name('view');
Route::get('{hashid}/edit', [StudyHistoryController::class, 'edit'])->name('edit');
Route::post('{hashid}', [StudyHistoryController::class, 'save'])->name('save');
});
Route::group(['prefix' => 'attachment', 'as' => 'attachment.'], function () {
Route::get('{uuid}', [AttachmentController::class, 'view'])->name('view');
Route::post('{hashid}', [AttachmentController::class, 'upload'])->name('upload');
Route::delete('{hashid}/{media}', [AttachmentController::class, 'delete'])->name('delete');
});
Route::group(['prefix' => 'meta', 'as' => 'meta.'], function () {
Route::get('{hashid}', [StudyMetadataController::class, 'view'])->name('view');
Route::get('{hashid}/edit', [StudyMetadataController::class, 'edit'])->name('edit');
Route::post('{hashid}', [StudyMetadataController::class, 'save'])->name('save');
});
});
});
Route::group(['prefix' => 'shares', 'as' => 'shares.'], function () {
Route::get('study/{hashid}', [ViewSharedStudyController::class, 'show'])->name('show');
Route::post('auth/{hashid}', [ViewSharedStudyController::class, 'auth'])->name('auth');
});
Route::view('ck', 'ck');
Route::group(['prefix' => 'social', 'as' => 'social.'], function () {
Route::get('{driver}', [SocialLoginController::class, 'redirect'])->name('login');
Route::get('{driver}/callback', [SocialLoginController::class, 'callback']);
});