X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FHttp%2FControllers%2FTournamentController.php;h=9b21736d8ea4a111eece00198e6cd858ca856773;hb=31127000e16c18389129546b9aa652de565683fb;hp=fd9aab35d79e91bae3be78889d49885ea740df6c;hpb=43da6b2ec78774e7b045a09c68af39717b5f5dbc;p=alttp.git diff --git a/app/Http/Controllers/TournamentController.php b/app/Http/Controllers/TournamentController.php index fd9aab3..9b21736 100644 --- a/app/Http/Controllers/TournamentController.php +++ b/app/Http/Controllers/TournamentController.php @@ -30,6 +30,7 @@ class TournamentController extends Controller 'applications.user', 'rounds', 'rounds.results', + 'rounds.results.user', 'participants', 'participants.user', )->findOrFail($id); @@ -44,12 +45,48 @@ class TournamentController extends Controller return $tournament->toJson(); } + public function discord(Request $request, Tournament $tournament) { + $this->authorize('update', $tournament); + $validatedData = $request->validate([ + 'guild_id' => 'string|nullable', + ]); + if (array_key_exists('guild_id', $validatedData)) { + $tournament->discord = $validatedData['guild_id']; + } + $tournament->save(); + if ($tournament->wasChanged()) { + TournamentChanged::dispatch($tournament); + Protocol::tournamentDiscord($tournament, $request->user()); + } + return $tournament->toJson(); + } + + public function discordSettings(Request $request, Tournament $tournament) { + $this->authorize('update', $tournament); + $validatedData = $request->validate([ + 'round_category' => 'string|nullable', + 'round_template' => 'string|nullable', + ]); + if (array_key_exists('round_category', $validatedData)) { + $tournament->discord_round_category = $validatedData['round_category']; + } + if (array_key_exists('round_template', $validatedData)) { + $tournament->discord_round_template = $validatedData['round_template']; + } + $tournament->save(); + if ($tournament->wasChanged()) { + TournamentChanged::dispatch($tournament); + Protocol::tournamentDiscordSettings($tournament, $request->user()); + } + return $tournament->toJson(); + } + public function open(Request $request, Tournament $tournament) { $this->authorize('update', $tournament); $tournament->accept_applications = true; $tournament->save(); TournamentChanged::dispatch($tournament); - Protocol::tournamentOpenen($tournament, $request->user()); + Protocol::tournamentOpened($tournament, $request->user()); return $tournament->toJson(); }