Add public API v1 with API key auth, rate limiting, and docs page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mark
2026-05-31 23:29:18 +03:00
co-authored by Claude Sonnet 4.6
parent 68d01448d2
commit a583a13da1
17 changed files with 1602 additions and 1 deletions
+23
View File
@@ -0,0 +1,23 @@
<?php
use App\Http\Controllers\Api\V1\GameApiController;
use App\Http\Controllers\Api\V1\MetaApiController;
use App\Http\Controllers\Api\V1\UserApiController;
use Illuminate\Support\Facades\Route;
Route::prefix('api/v1')->middleware(['api.key', 'throttle:api'])->group(function () {
// Games
Route::get('/games', [GameApiController::class, 'index']);
Route::get('/games/search', [GameApiController::class, 'search']);
Route::get('/games/top-rated', [GameApiController::class, 'topRated']);
Route::get('/games/new-releases', [GameApiController::class, 'newReleases']);
Route::get('/games/{game:slug}', [GameApiController::class, 'show']);
// Meta
Route::get('/genres', [MetaApiController::class, 'genres']);
Route::get('/platforms', [MetaApiController::class, 'platforms']);
// Users (public profiles)
Route::get('/users/{user:slug}', [UserApiController::class, 'show']);
Route::get('/users/{user:slug}/library', [UserApiController::class, 'library']);
});