first commit

This commit is contained in:
brusnitsyn
2026-01-04 23:15:06 +09:00
commit 0ec04cfb4b
104 changed files with 19072 additions and 0 deletions

40
routes/api.php Normal file
View File

@@ -0,0 +1,40 @@
<?php
use App\Http\Controllers\Api\AuthController;
use App\Http\Controllers\Api\MetrikaFormController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:sanctum');
// API для авторизации
Route::prefix('auth')->group(function () {
Route::post('/register', [AuthController::class, 'register']);
Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth:sanctum');
Route::get('/user', [AuthController::class, 'user'])->middleware('auth:sanctum');
Route::put('/profile', [AuthController::class, 'updateProfile'])->middleware('auth:sanctum');
Route::get('/check-token', [AuthController::class, 'checkToken']);
Route::get('/users', [AuthController::class, 'getUsers'])->middleware('auth:sanctum');
Route::put('/users/{id}', [AuthController::class, 'updateUser'])->middleware('auth:sanctum');
});
Route::middleware(['auth:sanctum'])->group(function () {
// Формы метрик
Route::prefix('metric-forms')->group(function () {
Route::get('/{group}', [MetrikaFormController::class, 'getForm'])->name('metric-forms.show');
Route::get('/{group}/existing', [MetrikaFormController::class, 'getExistingData']);
Route::post('/{group}/save', [MetrikaFormController::class, 'saveForm'])->name('metric-forms.save');
Route::get('/{report}/{group}/edit', [MetrikaFormController::class, 'getEditForm']);
// Получение отчета по дате (просмотр)
Route::get('/{group}/report-by-date', [MetrikaFormController::class, 'getReportByDate'])
->name('metric-forms.report-by-date');
// Календарь с отправленными отчетами
Route::get('/{group}/calendar-with-reports', [MetrikaFormController::class, 'getCalendarWithReports'])
->name('metric-forms.calendar-with-reports');
});
});

8
routes/console.php Normal file
View File

@@ -0,0 +1,8 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');

37
routes/web.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
use App\Http\Controllers\AuthController;
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']);
});
});
Route::prefix('api')->group(function () {
Route::get('/auth/login', [\App\Http\Controllers\Api\AuthController::class, 'login']);
});
Route::get('/dashboard', [\App\Http\Controllers\Web\IndexController::class, 'index'])
->middleware(['auth'])
->name('dashboard');
Route::get('/statistic', [\App\Http\Controllers\Web\StatisticController::class, 'index'])
->middleware(['auth'])
->name('statistic');
Route::get('/', [\App\Http\Controllers\Web\IndexController::class, 'start']);
Route::get('/test-session', function (\Illuminate\Http\Request $request) {
return [
'session_id' => session()->getId(),
'user' => $request->user(),
'auth_check' => Auth::check(),
'cookies' => $request->cookies->all(),
];
});