+ 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();
+ }
+