From: Daniel Karbach Date: Thu, 20 Nov 2025 11:55:47 +0000 (+0100) Subject: group assignment model X-Git-Url: https://git.localhorst.tv/?a=commitdiff_plain;h=ca2ee473ed464b7d0094b4a5a8e9f7bb399c1778;p=alttp.git group assignment model --- diff --git a/app/Http/Controllers/TournamentController.php b/app/Http/Controllers/TournamentController.php index 8e3df16..b29cb2e 100644 --- a/app/Http/Controllers/TournamentController.php +++ b/app/Http/Controllers/TournamentController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Events\ApplicationAdded; use App\Events\TournamentChanged; use App\Models\Application; +use App\Models\GroupAssignment; use App\Models\Protocol; use App\Models\Tournament; use Illuminate\Auth\Access\AuthorizationException; @@ -45,6 +46,13 @@ class TournamentController extends Controller } $json = $tournament->toArray(); $json['rounds'] = $rounds->toArray(); + if ($request->user()) { + $json['group_assignments'] = GroupAssignment::query() + ->whereBelongsTo($tournament) + ->whereBelongsTo($request->user()) + ->get() + ->toArray(); + } return $json; } diff --git a/app/Models/GroupAssignment.php b/app/Models/GroupAssignment.php new file mode 100644 index 0000000..fd12c72 --- /dev/null +++ b/app/Models/GroupAssignment.php @@ -0,0 +1,17 @@ +belongsTo(Tournament::class); + } + + public function user() { + return $this->belongsTo(User::class); + } + +} diff --git a/database/migrations/2025_11_20_095822_create_group_assignments_table.php b/database/migrations/2025_11_20_095822_create_group_assignments_table.php new file mode 100644 index 0000000..bef768e --- /dev/null +++ b/database/migrations/2025_11_20_095822_create_group_assignments_table.php @@ -0,0 +1,32 @@ +id(); + $table->foreignId('tournament_id')->constrained(); + $table->foreignId('user_id')->constrained(); + $table->integer('round_number'); + $table->string('group'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('group_assignments'); + } + +};