Files
onboard/routes/web.php
2026-06-22 16:54:00 +09:00

131 lines
6.8 KiB
PHP

<?php
use App\Http\Controllers\AuthController;
use App\Http\Controllers\TestController;
use Illuminate\Support\Facades\Route;
// Публичные маршруты
Route::middleware('guest')->group(function () {
Route::get('/login', function () {
return Inertia('Auth/Login');
})->name('login');
Route::prefix('auth')->group(function () {
Route::post('/login', [AuthController::class, 'login']);
});
});
// Тестовые маршруты — только в локальной среде
if (app()->isLocal()) {
Route::prefix('test')->group(function () {
Route::get('/', [TestController::class, 'testMigrations']);
Route::get('/i', [TestController::class, 'testIndex']);
});
}
Route::prefix('api')->group(function () {
Route::get('/auth/login', [\App\Http\Controllers\Api\AuthController::class, 'login']);
});
Route::prefix('admin')->middleware(['auth'])->group(function () {
Route::get('/', [\App\Http\Controllers\Web\Admin\AdminController::class, 'index']);
Route::prefix('users')->group(function () {
Route::get('/', [\App\Http\Controllers\Web\Admin\UserController::class, 'index']);
Route::get('/new', [\App\Http\Controllers\Web\Admin\UserController::class, 'create']);
Route::post('/new', [\App\Http\Controllers\Web\Admin\UserController::class, 'store']);
Route::prefix('{user}')->group(function () {
Route::get('/', [\App\Http\Controllers\Web\Admin\UserController::class, 'show']);
Route::put('/', [\App\Http\Controllers\Web\Admin\UserController::class, 'update']);
Route::put('/password', [\App\Http\Controllers\Web\Admin\UserController::class, 'resetPassword']);
});
});
Route::prefix('metrics')->group(function () {
Route::get('/', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'index']);
Route::get('/groups/new', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'createGroup']);
Route::post('/groups/new', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'storeGroup']);
Route::get('/groups/{group}', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'showGroup']);
Route::put('/groups/{group}', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'updateGroup']);
Route::get('/items/new', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'createItem']);
Route::post('/items/new', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'storeItem']);
Route::get('/items/{item}', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'showItem']);
Route::put('/items/{item}', [\App\Http\Controllers\Web\Admin\MetrikaController::class, 'updateItem']);
});
Route::prefix('replication')->group(function () {
Route::get('/', [\App\Http\Controllers\Web\Admin\ReplicationController::class, 'index']);
Route::post('/run', [\App\Http\Controllers\Web\Admin\ReplicationController::class, 'run']);
Route::post('/schedules', [\App\Http\Controllers\Web\Admin\ReplicationController::class, 'storeSchedule']);
Route::put('/schedules/{schedule}', [\App\Http\Controllers\Web\Admin\ReplicationController::class, 'updateSchedule']);
Route::delete('/schedules/{schedule}', [\App\Http\Controllers\Web\Admin\ReplicationController::class, 'destroySchedule']);
});
});
Route::prefix('statistic')->middleware(['auth'])->group(function () {
Route::get('/', [\App\Http\Controllers\Web\StatisticController::class, 'index']);
Route::get('/report', [\App\Http\Controllers\Web\StatisticController::class, 'report']);
Route::get('/headquarters', [\App\Http\Controllers\Web\HeadquartersController::class, 'index']);
});
Route::prefix('reports')->middleware(['auth'])->group(function () {
Route::get('/', [\App\Http\Controllers\Web\ReportsController::class, 'index'])->name('reports.index');
Route::get('/new', [\App\Http\Controllers\Web\ReportsController::class, 'create'])->name('reports.create');
Route::post('/run', [\App\Http\Controllers\Web\ReportsController::class, 'run'])->name('reports.run');
Route::post('/measures', [\App\Http\Controllers\Web\ReportsController::class, 'storeMeasure'])->name('reports.measures.store');
Route::post('/export/excel', [\App\Http\Controllers\Web\ReportsController::class, 'exportExcel'])->name('reports.export.excel');
Route::post('/export/pdf', [\App\Http\Controllers\Web\ReportsController::class, 'exportPdf'])->name('reports.export.pdf');
Route::post('/', [\App\Http\Controllers\Web\ReportsController::class, 'store'])->name('reports.store');
Route::get('/{document}', [\App\Http\Controllers\Web\ReportsController::class, 'show'])->name('reports.show');
Route::put('/{document}', [\App\Http\Controllers\Web\ReportsController::class, 'update'])->name('reports.update');
Route::delete('/{document}', [\App\Http\Controllers\Web\ReportsController::class, 'destroy'])->name('reports.destroy');
Route::post('/{document}/duplicate', [\App\Http\Controllers\Web\ReportsController::class, 'duplicate'])->name('reports.duplicate');
});
Route::get('/logout', [\App\Http\Controllers\AuthController::class, 'logout'])
->middleware(['auth'])
->name('logout');
// Route::get('/dashboard', [\App\Http\Controllers\Web\IndexController::class, 'index'])
// ->middleware(['auth'])
// ->name('dashboard');
Route::get('/report', [\App\Http\Controllers\Web\DutyReportController::class, 'index'])
->middleware(['auth'])
->name('report');
Route::get('/report/export', [\App\Http\Controllers\Web\ReportController::class, 'export'])
->middleware(['auth'])
->name('report.export');
Route::post('/report', [\App\Http\Controllers\Web\ReportController::class, 'store'])
->middleware(['auth'])
->name('report.store');
Route::post('/user/role/change', [\App\Http\Controllers\AuthController::class, 'changeRole'])
->middleware(['auth'])
->name('user.role.change');
Route::get('/path/patient', function () {
return \Inertia\Inertia::render('Path/Patient');
})
->middleware(['auth'])
->name('path.patient');
Route::get('/', [\App\Http\Controllers\Web\IndexController::class, 'start'])
->middleware(['auth'])
->name('start');
Route::prefix('nurse')->middleware(['auth'])->group(function () {
Route::prefix('report')->group(function () {
Route::get('/', [\App\Http\Controllers\Web\NurseReportController::class, 'index']);
Route::post('/save', [\App\Http\Controllers\Web\NurseReportController::class, 'store']);
});
});
Route::prefix('duty')->middleware(['auth'])->group(function () {
Route::prefix('report')->group(function () {
Route::get('/', [\App\Http\Controllers\Web\DutyReportController::class, 'index']);
Route::post('/save', [\App\Http\Controllers\Web\DutyReportController::class, 'store']);
});
});