94 lines
6.1 KiB
PHP
94 lines
6.1 KiB
PHP
<?php
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\CategoryController;
|
|
use App\Http\Controllers\ContestController;
|
|
use App\Http\Controllers\ContestParameterController;
|
|
use App\Http\Controllers\CountryWwlController;
|
|
use App\Http\Controllers\CtyController;
|
|
use App\Http\Controllers\BandController;
|
|
use App\Http\Controllers\EdiBandController;
|
|
use App\Http\Controllers\EdiCategoryController;
|
|
use App\Http\Controllers\EvaluationRuleSetController;
|
|
use App\Http\Controllers\EvaluationRunController;
|
|
use App\Http\Controllers\FileController;
|
|
use App\Http\Controllers\LogOverrideController;
|
|
use App\Http\Controllers\LogController;
|
|
use App\Http\Controllers\LoginController;
|
|
use App\Http\Controllers\LogQsoController;
|
|
use App\Http\Controllers\LogResultController;
|
|
use App\Http\Controllers\NewsPostController;
|
|
use App\Http\Controllers\PowerCategoryController;
|
|
use App\Http\Controllers\QsoOverrideController;
|
|
use App\Http\Controllers\QsoResultController;
|
|
use App\Http\Controllers\RoundController;
|
|
use App\Http\Controllers\UserController;
|
|
|
|
Route::apiResource('bands', BandController::class)->only(['index', 'show']);
|
|
Route::apiResource('categories', CategoryController::class)->only(['index', 'show']);
|
|
Route::apiResource('countries-wwl', CountryWwlController::class)->only(['index', 'show']);
|
|
Route::apiResource('contests', ContestController::class)->only(['index', 'show']);
|
|
Route::apiResource('contest-parameters', ContestParameterController::class)->only(['index', 'show']);
|
|
Route::apiResource('cty', CtyController::class)->only(['index', 'show']);
|
|
Route::apiResource('edi-bands', EdiBandController::class)->only(['index', 'show']);
|
|
Route::apiResource('evaluation-rule-sets', EvaluationRuleSetController::class)->only(['index', 'show']);
|
|
Route::apiResource('evaluation-runs', EvaluationRunController::class)->only(['index', 'show']);
|
|
Route::apiResource('edi-categories', EdiCategoryController::class)->only(['index', 'show']);
|
|
Route::apiResource('files', FileController::class)->only(['index','show','store']);
|
|
Route::get('files/{file}/download', [FileController::class, 'download']);
|
|
Route::get('files/{file}/content', [FileController::class, 'content']);
|
|
Route::post('login', [LoginController::class, 'authenticate']);
|
|
Route::apiResource('logs', LogController::class)->only(['index', 'show']);
|
|
Route::get('logs/{log}/qso-table', [LogController::class, 'qsoTable']);
|
|
Route::apiResource('log-qsos', LogQsoController::class)->only(['index', 'show']);
|
|
Route::apiResource('log-results', LogResultController::class)->only(['index', 'show']);
|
|
Route::apiResource('log-overrides', LogOverrideController::class)->only(['index', 'show']);
|
|
Route::apiResource('news', NewsPostController::class)->only(['index', 'show']);
|
|
Route::apiResource('power-categories', PowerCategoryController::class)->only(['index', 'show']);
|
|
Route::apiResource('qso-overrides', QsoOverrideController::class)->only(['index', 'show']);
|
|
Route::apiResource('qso-results', QsoResultController::class)->only(['index', 'show']);
|
|
Route::apiResource('rounds', RoundController::class)->only(['index', 'show']);
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::apiResource('bands', BandController::class)->except(['index', 'show']);
|
|
Route::apiResource('categories', CategoryController::class)->except(['index', 'show']);
|
|
Route::apiResource('countries-wwl', CountryWwlController::class)->except(['index', 'show']);
|
|
Route::apiResource('contests', ContestController::class)->except(['index', 'show']);
|
|
Route::apiResource('contest-parameters', ContestParameterController::class)->except(['index', 'show']);
|
|
Route::apiResource('cty', CtyController::class)->except(['index', 'show']);
|
|
Route::apiResource('edi-bands', EdiBandController::class)->except(['index', 'show']);
|
|
Route::apiResource('evaluation-rule-sets', EvaluationRuleSetController::class)->except(['index', 'show']);
|
|
Route::apiResource('evaluation-runs', EvaluationRunController::class)->except(['index', 'show']);
|
|
Route::post('evaluation-runs/{evaluationRun}/cancel', [EvaluationRunController::class, 'cancel']);
|
|
Route::post('evaluation-runs/{evaluationRun}/resume', [EvaluationRunController::class, 'resume']);
|
|
Route::post('evaluation-runs/{evaluationRun}/result-type', [EvaluationRunController::class, 'setResultType']);
|
|
Route::get('evaluation-runs/{evaluationRun}/events', [EvaluationRunController::class, 'events']);
|
|
Route::apiResource('edi-categories', EdiCategoryController::class)->except(['index', 'show']);
|
|
Route::delete('files/{file}', [FileController::class, 'destroy']);
|
|
Route::apiResource('logs', LogController::class)->except(['index', 'show']);
|
|
Route::apiResource('log-qsos', LogQsoController::class)->except(['index', 'show']);
|
|
Route::apiResource('log-results', LogResultController::class)->except(['index', 'show']);
|
|
Route::apiResource('log-overrides', LogOverrideController::class)->except(['index', 'show']);
|
|
Route::apiResource('news', NewsPostController::class)->except(['index', 'show']);
|
|
Route::apiResource('power-categories', PowerCategoryController::class)->except(['index', 'show']);
|
|
Route::apiResource('qso-overrides', QsoOverrideController::class)->except(['index', 'show']);
|
|
Route::apiResource('qso-results', QsoResultController::class)->except(['index', 'show']);
|
|
Route::apiResource('rounds', RoundController::class)->except(['index', 'show']);
|
|
Route::post('rounds/{round}/recalculate-claimed', [RoundController::class, 'recalculateClaimed']);
|
|
Route::post('rounds/{round}/evaluation-runs/start', [RoundController::class, 'startEvaluation']);
|
|
Route::post('rounds/{round}/evaluation-runs/start-incremental', [RoundController::class, 'startEvaluationIncremental']);
|
|
Route::apiResource('users', UserController::class)->only(['index', 'show', 'store', 'update', 'destroy']);
|
|
|
|
Route::get('/user', function (Request $request) {
|
|
return $request->user();
|
|
});
|
|
Route::post('/tokens/create', function (Request $request) {
|
|
$request->validate([
|
|
'token_name' => ['required', 'string', 'max:255'],
|
|
]);
|
|
$token = $request->user()->createToken($request->token_name);
|
|
return ['token' => $token->plainTextToken];
|
|
});
|
|
});
|