<?php

use App\Http\Controllers\ApiAcademyController;
use App\Http\Controllers\ApiTermController;
use App\Http\Controllers\ApiAssesmentController;
use App\Http\Controllers\ApiFrontendController;
use App\Http\Controllers\ApiResultController;
use App\Http\Controllers\ApiUserController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

Route::get('/term',                [ApiTermController::class, 'get']);
Route::get('/academies',                [ApiAcademyController::class, 'get']);
Route::get('/user',                     [ApiUserController::class, 'get']);
Route::post('/user',                    [ApiUserController::class, 'create']);
Route::post('/user/complete',                    [ApiUserController::class, 'complete']);
Route::get('/assessment/time', [ApiAssesmentController::class, 'getUserRemainingTime']);
Route::get('/assessment/{academy?}',     [ApiAssesmentController::class, 'getAssesmentData']);
Route::post('/assessment',               [ApiAssesmentController::class, 'storeAssesmentData']);
Route::post('/timeout',                  [ApiAssesmentController::class, 'handleTimeout']);
Route::get('/result',                  [ApiAssesmentController::class, 'getResult']);
Route::get('/legal', [ApiUserController::class, 'getLegalActs']);
Route::get('/results/token/{token}', [ApiResultController::class, 'getByToken']);
Route::get('/results/academy/{academy}', [ApiResultController::class, 'getByAcademy']);
Route::get('/landing/numbers', [ApiFrontendController::class, 'landingNumbers']);


Route::middleware('apikey')->get('/applicants', [ApiUserController::class, 'getApplicants']);

Route::post('/memory-matrix/start', [ApiAssesmentController::class, 'startMemoryMatrix']);
Route::post('/memory-matrix/result', [ApiAssesmentController::class, 'storeMemoryMatrixResult']);
Route::post('/speed-arithmetic/start', [ApiAssesmentController::class, 'startSpeedArithmetic']);
Route::post('/speed-arithmetic/result', [ApiAssesmentController::class, 'storeSpeedArithmeticResult']);
