TeamResource::collection(Team::visibleTo(auth()->user())->get())->resolve($request), 'canCreateTeam' => auth()->user()->can('create', Team::class), ]); } public function show(Request$request, Team $team) { return Inertia::render('team/Show', [ 'team' => TeamResource::make($team)->resolve($request), 'canManageTeam' => auth()->user()->can('manage', $team), ]); } /** * Store a newly created resource in storage. */ public function store(StoreTeamRequest $request) { $validated = $request->validated(); try { DB::transaction(function () use ($validated) { $team = Team::create($validated); $team->members()->attach( request()->user()->id, ['role' => TeamMemberRole::Admin] ); }); Inertia::flash('success', 'Team successfully created.'); return to_route('teams.index'); } catch (\Exception $exception) { Inertia::flash('error', 'Team could not be created.'); DB::rollBack(); return back(); } } public function create() { return Inertia::render('team/Create'); } /** * Show the form for editing the specified resource. */ public function edit(Team $team) { // } /** * Update the specified resource in storage. */ public function update(UpdateTeamRequest $request, Team $team) { // } /** * Remove the specified resource from storage. */ public function destroy(Team $team) { // } }