131 lines
6.8 KiB
PHP
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']);
|
|
});
|
|
});
|