Added endpoits to create, join and update the game state, playability should work now

This commit is contained in:
2025-12-14 00:26:41 +00:00
parent 7686aff546
commit cf8f93d984
7 changed files with 283 additions and 132 deletions
+17 -7
View File
@@ -3,6 +3,7 @@
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class StoreGameRequest extends FormRequest
{
@@ -11,7 +12,8 @@ class StoreGameRequest extends FormRequest
*/
public function authorize(): bool
{
return true;
// Só utilizadores autenticados podem criar jogos
return Auth::check();
}
/**
@@ -22,11 +24,19 @@ class StoreGameRequest extends FormRequest
public function rules(): array
{
return [
'variant' => 'required|in:bisca-3,bisca-9',
'mode' => 'required|in:single-player,multiplayer',
'opponent_id' => $this->mode === 'multiplayer'
? 'required|exists:users,id'
: 'nullable',
// Agora validamos diretamente '3' ou '9' para bater certo com a BD
'type' => 'required|in:3,9',
];
}
}
/**
* Mensagens personalizadas (Opcional)
*/
public function messages(): array
{
return [
'type.required' => 'You must choose a game type (Bisca de 3 or 9).',
'type.in' => 'Invalid game type. Choose 3 or 9.',
];
}
}