X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FHttp%2FControllers%2FTournamentController.php;h=6ef003837c1f5b99c1d4bf25003bec42706847ea;hb=cd36cb0ba2718e6bfa08765e7702d57dfe7fd733;hp=e563eac60bfb39c34a58e8da3da5a712a6ad14a6;hpb=1c91e5dcedd930bea5fe44ea95a77a9ecd0177a4;p=alttp.git diff --git a/app/Http/Controllers/TournamentController.php b/app/Http/Controllers/TournamentController.php index e563eac..6ef0038 100644 --- a/app/Http/Controllers/TournamentController.php +++ b/app/Http/Controllers/TournamentController.php @@ -2,6 +2,9 @@ namespace App\Http\Controllers; +use App\Events\ApplicationAdded; +use App\Models\Application; +use App\Models\Protocol; use App\Models\Tournament; use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\Request; @@ -9,8 +12,21 @@ use Illuminate\Http\Request; class TournamentController extends Controller { + public function apply(Request $request, Tournament $tournament) { + $this->authorize('apply', $tournament); + $application = new Application(); + $application->tournament_id = $tournament->id; + $application->user_id = $request->user()->id; + $application->save(); + ApplicationAdded::dispatch($application); + Protocol::applicationReceived($tournament, $application, $request->user()); + return $tournament->toJson(); + } + public function single(Request $request, $id) { $tournament = Tournament::with( + 'applications', + 'applications.user', 'rounds', 'rounds.results', 'participants',