. */ namespace App\Http\Controllers; use App\Application; use App\Comment; use App\Http\Requests\NewCommentRequest; use App\Services\CommentService; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class CommentController extends Controller { private $commentService; public function __construct(CommentService $commentService) { $this->commentService = $commentService; } public function insert(NewCommentRequest $request, Application $application) { $this->authorize('create', Comment::class); $comment = $this->commentService->addComment($application, $request->comment); if ($comment) { $request->session()->flash('success', __('Comment posted!')); } else { $request->session()->flash('error', __('Something went wrong while posting your comment!')); } return redirect()->back(); } public function delete(Request $request, Comment $comment) { $this->authorize('delete', $comment); $this->commentService->deleteComment($comment); return redirect() ->back() ->with('success', __('Comment deleted!')); } }