From ca2ee473ed464b7d0094b4a5a8e9f7bb399c1778 Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Thu, 20 Nov 2025 12:55:47 +0100 Subject: [PATCH] group assignment model --- app/Http/Controllers/TournamentController.php | 8 +++++ app/Models/GroupAssignment.php | 17 ++++++++++ ..._095822_create_group_assignments_table.php | 32 +++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 app/Models/GroupAssignment.php create mode 100644 database/migrations/2025_11_20_095822_create_group_assignments_table.php 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'); + } + +}; -- 2.47.3