Files
RetroHub/routes/api.php
T

34 lines
920 B
PHP

<?php
use App\Features\Consoles\Console;
use App\Features\Games\Game;
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->group(function () {
Route::get('/consoles', function () {
return response()->json(Console::withCount('games')->orderBy('name')->get());
});
Route::get('/games', function () {
$query = Game::with('console');
if (request()->has('console')) {
$query->whereHas('console', function ($q) {
$q->where('slug', request()->console);
});
}
if (request()->has('search')) {
$query->where('title', 'like', '%'.request()->search.'%');
}
return response()->json($query->orderBy('title')->paginate(24));
});
Route::get('/games/{game}', function (Game $game) {
$game->load(['console', 'romFiles']);
return response()->json($game);
});
});