56 lines
1.7 KiB
PHP
56 lines
1.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\UsersController;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\ComponentsController;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\PCBuildsController;
|
|
use App\Http\Controllers\AiController;
|
|
|
|
Route::get('/users', function (Request $request) {
|
|
return $request->user();
|
|
})->middleware('auth:sanctum');
|
|
|
|
|
|
Route::get('components/{id}', [ComponentsController::class, 'show']);
|
|
|
|
|
|
|
|
|
|
Route::post('users', [UsersController::class, 'create']);
|
|
|
|
|
|
|
|
|
|
Route::post('/register', [AuthController::class, 'register']);
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
|
|
// Защита маршрутов — только для авторизованных
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::post('/logout', [AuthController::class, 'logout']);
|
|
});
|
|
|
|
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::get('/components', [ComponentsController::class, 'index']);
|
|
Route::post('/components', [ComponentsController::class, 'store']);
|
|
Route::put('/components/{id}', [ComponentsController::class, 'update']);
|
|
Route::delete('/components/{id}', [ComponentsController::class, 'destroy']);
|
|
});
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::get('/builds', [PCBuildsController::class, 'index']);
|
|
Route::post('/builds', [PCBuildsController::class, 'store']);
|
|
Route::get('/builds/{id}', [PCBuildsController::class, 'show']);
|
|
Route::put('/builds/{id}', [PCBuildsController::class, 'update']);
|
|
Route::delete('/builds/{id}', [PCBuildsController::class, 'destroy']);
|
|
});
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::post('/ai/suggest', [AiController::class, 'suggest']);
|
|
});
|
|
|
|
|