Files
onboard/routes/web.php
brusnitsyn 739168d427 Обновлен стартовый экран
Переписаны запросы для статистики, отчетов
Добавлена интеграция отчета сестры
2026-05-28 22:10:00 +09:00

107 lines
4.7 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('statistic')->group(function () {
Route::get('/', [\App\Http\Controllers\Web\StatisticController::class, 'index']);
Route::get('/report', [\App\Http\Controllers\Web\StatisticController::class, 'report']);
})->middleware(['auth']);
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']);
});
});