101 lines
4.8 KiB
PHP
101 lines
4.8 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Api\WorklistController as ApiWorklistController;
|
|
use App\Http\Controllers\Guest\ViewSharedStudyController;
|
|
use App\Http\Controllers\SocialLoginController;
|
|
use App\Http\Controllers\Staff\AssignmentController;
|
|
use App\Http\Controllers\Staff\AttachmentController;
|
|
use App\Http\Controllers\Staff\AuditLogController;
|
|
use App\Http\Controllers\Staff\DicomViewerController;
|
|
use App\Http\Controllers\Staff\HistoryController;
|
|
use App\Http\Controllers\Staff\MetadataController;
|
|
use App\Http\Controllers\Staff\ReportController;
|
|
use App\Http\Controllers\Staff\ReportDownloadController;
|
|
use App\Http\Controllers\Staff\StudiesController;
|
|
use App\Http\Controllers\Staff\WorklistController;
|
|
use App\Http\Controllers\System\SyncOrthancController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', fn () => redirect()->route('staff.worklist.index'));
|
|
|
|
Route::view('close', 'content.pages.close-window')->name('close');
|
|
|
|
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::group(['prefix' => 'api', 'as' => 'api.'], function () {
|
|
Route::get('studies', [ApiWorklistController::class, 'studies'])->name('studies');
|
|
});
|
|
|
|
Route::group(['prefix' => 'viewer', 'as' => 'viewer.'], function () {
|
|
Route::get('stone/{hashid}', [DicomViewerController::class, 'stone'])->name('stone');
|
|
Route::get('ohif/{hashid}', [DicomViewerController::class, 'ohif'])->name('ohif');
|
|
});
|
|
|
|
Route::group(['as' => 'staff.'], function () {
|
|
|
|
Route::group(['prefix' => 'worklist', 'as' => 'worklist.'], function () {
|
|
Route::get('/', [WorklistController::class, 'index'])->name('index');
|
|
});
|
|
|
|
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('', [AssignmentController::class, 'show'])->name('show');
|
|
Route::post('{hashid}', [AssignmentController::class, 'save'])->name('save');
|
|
Route::delete('{hashid}', [AssignmentController::class, 'remove'])->name('remove');
|
|
});
|
|
|
|
Route::group(['prefix' => 'history', 'as' => 'history.'], function () {
|
|
Route::get('{hashid}', [HistoryController::class, 'view'])->name('view');
|
|
Route::get('{hashid}/edit', [HistoryController::class, 'edit'])->name('edit');
|
|
Route::post('{hashid}', [HistoryController::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}', [MetadataController::class, 'view'])->name('view');
|
|
Route::get('{hashid}/edit', [MetadataController::class, 'edit'])->name('edit');
|
|
Route::post('{hashid}', [MetadataController::class, 'save'])->name('save');
|
|
});
|
|
|
|
Route::group(['prefix' => 'report', 'as' => 'report.'], function () {
|
|
Route::get('popup', [ReportController::class, 'popup'])->name('popup');
|
|
Route::get('view/{uuid}', [ReportController::class, 'view'])->name('view');
|
|
Route::get('edit/{uuid}', [ReportController::class, 'edit'])->name('edit');
|
|
Route::get('create/{hashid}', [ReportController::class, 'create'])->name('create');
|
|
Route::post('save', [ReportController::class, 'save'])->name('save');
|
|
Route::get('download/{uuid}/{format}', ReportDownloadController::class)->name('download');
|
|
});
|
|
|
|
Route::group(['prefix' => 'audit', 'as' => 'audit.'], function () {
|
|
Route::get('popup', [AuditLogController::class, 'popup'])->name('popup');
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
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::group(['prefix' => 'social', 'as' => 'social.'], function () {
|
|
Route::get('{driver}', [SocialLoginController::class, 'redirect'])->name('login');
|
|
Route::get('{driver}/callback', [SocialLoginController::class, 'callback']);
|
|
});
|