84 lines
3.7 KiB
PHP
84 lines
3.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\CategoryController;
|
|
use App\Http\Controllers\HitcountController;
|
|
use App\Http\Controllers\LogController;
|
|
use App\Http\Controllers\QuestionController;
|
|
use App\Http\Controllers\TestController;
|
|
use App\Http\Controllers\UserController;
|
|
use App\Http\Controllers\UserTestController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
|
// UserTests
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::get('user-tests', [UserTestController::class, 'index']);
|
|
Route::get('user-tests/me', [UserTestController::class, 'me']);
|
|
Route::post('user-tests', [UserTestController::class, 'store']);
|
|
Route::post('user-tests/by-test', [UserTestController::class, 'storeByTest']);
|
|
|
|
Route::get('user-tests/{userTest}', [UserTestController::class, 'show']);
|
|
Route::post('user-tests/{userTest}/complete', [UserTestController::class, 'completeTest']);
|
|
Route::delete('user-tests/{userTest}', [UserTestController::class, 'destroy']);
|
|
});
|
|
|
|
// UserTestAnswers
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::get('user-test-answers/{answer}', [UserTestController::class, 'showAnswer']);
|
|
Route::post('user-test-answers/{answer}/submit', [UserTestController::class, 'answerByTest']);
|
|
});
|
|
|
|
// Tests
|
|
Route::get('tests', [TestController::class, 'index']);
|
|
Route::get('tests/{test}', [TestController::class, 'show']);
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::post('tests', [TestController::class, 'store']);
|
|
Route::put('tests/{test}', [TestController::class, 'update']);
|
|
Route::delete('tests/{test}', [TestController::class, 'destroy']);
|
|
});
|
|
|
|
// Questions
|
|
Route::get('questions', [QuestionController::class, 'index']);
|
|
Route::get('questions/{question}', [QuestionController::class, 'show']);
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::post('questions/openai-generate', [QuestionController::class, 'openai_generate']);
|
|
Route::post('questions', [QuestionController::class, 'store']);
|
|
Route::put('questions/{question}', [QuestionController::class, 'update']);
|
|
Route::delete('questions/{question}', [QuestionController::class, 'destroy']);
|
|
});
|
|
|
|
// HitcountController
|
|
Route::post('hit', [HitcountController::class, 'callHit']);
|
|
Route::apiResource('hitcounts', HitcountController::class)->middleware('auth:sanctum');
|
|
|
|
// UserController
|
|
Route::apiResource('users', UserController::class)->middleware('auth:sanctum');
|
|
|
|
// CategoryController
|
|
Route::get('categories', [CategoryController::class, 'index']);
|
|
Route::get('categories/{category}', [CategoryController::class, 'show']);
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::post('categories', [CategoryController::class, 'store']);
|
|
Route::put('categories/{category}', [CategoryController::class, 'update']);
|
|
Route::delete('categories/{category}', [CategoryController::class, 'destroy']);
|
|
});
|
|
|
|
// LogsController
|
|
Route::apiResource('logs', LogController::class)
|
|
->only(['index', 'show', 'destroy'])->middleware('auth:sanctum');
|
|
|
|
// AuthController
|
|
Route::post('/auth/register', [ AuthController::class, 'register' ]);
|
|
Route::post('/auth/login', [ AuthController::class, 'login' ]);
|
|
Route::post('/auth/logout', [ AuthController::class, 'logout' ])->middleware('auth:sanctum');
|
|
Route::post('/auth/forgot-password', [ AuthController::class, 'forgotPassword' ]);
|
|
Route::post('/auth/reset-password', [ AuthController::class, 'resetPassword' ]);
|
|
Route::post('/auth/activate-account', [ AuthController::class, 'confirmationAccount' ]);
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::post('/auth/logout', [ AuthController::class, 'logout' ]);
|
|
Route::get('/auth/me', [ AuthController::class, 'me' ])->middleware('auth:sanctum');
|
|
}); |