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
+24 -5
View File
@@ -4,25 +4,44 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Http\Requests\StoreGameRequest;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Game extends Model
{
use HasFactory;
public $timestamps = false;
protected $fillable = [
'player1_id',
'player2_id',
'winner_id',
'type',
'status',
'player1_user_id',
'player2_user_id',
'winner_user_id',
'loser_user_id',
'began_at',
'ended_at',
'total_time',
'player1_moves',
'player2_moves',
'player1_points',
'player2_points',
'custom',
'is_draw',
'match_id'
];
public function winner()
{
return $this->belongsTo(User::class, "winner_user_id");
}
public function player1()
{
return $this->belongsTo(User::class, 'player1_user_id');
}
public function player2()
{
return $this->belongsTo(User::class, 'player2_user_id');
}
}
+7 -1
View File
@@ -4,6 +4,7 @@ namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
@@ -11,7 +12,7 @@ use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
/** @use HasFactory<\Database\Factories\UserFactory> */
use HasFactory, Notifiable, HasApiTokens;
use HasFactory, Notifiable, HasApiTokens, SoftDeletes;
/**
* The attributes that are mass assignable.
@@ -24,6 +25,10 @@ class User extends Authenticatable
'password',
'nickname',
'photo_avatar_filename',
'type',
'blocked',
'coins_balance',
'custom',
];
/**
@@ -46,6 +51,7 @@ class User extends Authenticatable
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
'blocked' => 'boolean',
];
}
}