32 lines
988 B
PHP
32 lines
988 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace App\Http\Controllers;
|
||
|
|
|
||
|
|
use App\Models\Game;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
|
||
|
|
class GameController extends Controller
|
||
|
|
{
|
||
|
|
public function store(Request $request)
|
||
|
|
{
|
||
|
|
$validated = $request->validate([
|
||
|
|
'igdb_id' => 'required|integer|unique:games',
|
||
|
|
'name' => 'required|string|max:255',
|
||
|
|
'summary' => 'nullable|string',
|
||
|
|
'storyline' => 'nullable|string',
|
||
|
|
'cover_url' => 'nullable|url',
|
||
|
|
'slug' => 'required|string|max:255|unique:games',
|
||
|
|
'first_release_date' => 'nullable|date',
|
||
|
|
'rating' => 'nullable|numeric|between:0,100',
|
||
|
|
'rating_count' => 'nullable|integer|min:0',
|
||
|
|
'category' => 'nullable|integer',
|
||
|
|
'status' => 'nullable|integer',
|
||
|
|
'url' => 'nullable|url',
|
||
|
|
'version_title' => 'nullable|string|max:255',
|
||
|
|
]);
|
||
|
|
|
||
|
|
$game = Game::create($validated);
|
||
|
|
|
||
|
|
return response()->json($game, 201);
|
||
|
|
}
|
||
|
|
}
|