authorize('viewAny', Mod::class); return view('mod.index'); } public function store(ModRequest $request): ModResource { $this->authorize('create', Mod::class); return new ModResource(Mod::create($request->validated())); } public function show(int $modId, string $slug): View { $mod = Mod::with([ 'versions', 'versions.latestSptVersion', 'versions.latestResolvedDependencies', 'versions.latestResolvedDependencies.mod', 'license', 'users', ])->findOrFail($modId); if ($mod->slug !== $slug) { abort(404); } $this->authorize('view', $mod); return view('mod.show', compact(['mod'])); } public function update(ModRequest $request, Mod $mod): ModResource { $this->authorize('update', $mod); $mod->update($request->validated()); return new ModResource($mod); } public function destroy(Mod $mod): void {} }