X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FHttp%2FControllers%2FTournamentController.php;h=e563eac60bfb39c34a58e8da3da5a712a6ad14a6;hb=1c91e5dcedd930bea5fe44ea95a77a9ecd0177a4;hp=edf6d120f7403ad198c3332bf11db712d12be89c;hpb=55f2d7cd6c290a0d26db177d54d20c393f890bbb;p=alttp.git diff --git a/app/Http/Controllers/TournamentController.php b/app/Http/Controllers/TournamentController.php index edf6d12..e563eac 100644 --- a/app/Http/Controllers/TournamentController.php +++ b/app/Http/Controllers/TournamentController.php @@ -2,9 +2,29 @@ namespace App\Http\Controllers; +use App\Models\Tournament; +use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\Request; class TournamentController extends Controller { - // + + public function single(Request $request, $id) { + $tournament = Tournament::with( + 'rounds', + 'rounds.results', + 'participants', + 'participants.user', + )->findOrFail($id); + $this->authorize('view', $tournament); + foreach ($tournament->rounds as $round) { + try { + $this->authorize('seeResults', $round); + } catch (AuthorizationException) { + $round->hideResults(); + } + } + return $tournament->toJson(); + } + }