UserGitConnectionResource::collection($request->user()->gitConnections)->resolve(), 'status' => $request->session()->get('status'), ]); } public function store(StoreUserGitConnectionRequest $request): RedirectResponse { $this->storeUserGitConnection->handle($request->user(), $request->validated()); return to_route('git-connections.edit') ->with('status', 'Git connection was added.'); } public function update( UpdateUserGitConnectionRequest $request, UserGitConnection $gitConnection, ): RedirectResponse { $this->abortUnlessOwner($request, $gitConnection); $this->updateUserGitConnection->handle($gitConnection, $request->validated()); return to_route('git-connections.edit') ->with('status', 'Git connection was updated.'); } public function destroy(Request $request, UserGitConnection $gitConnection): RedirectResponse { $this->abortUnlessOwner($request, $gitConnection); $label = $this->deleteUserGitConnection->handle($gitConnection); return to_route('git-connections.edit') ->with('status', "{$label} was removed."); } private function abortUnlessOwner(Request $request, UserGitConnection $gitConnection): void { $user = $request->user(); abort_unless($gitConnection->user_id === $user->id, 403); } }