with('user') ->when($request->string('category')->toString(), fn ($query, $category) => $query->where('category', $category)) ->when($request->has('approved'), fn ($query) => $query->where('approved', $request->boolean('approved'))) ->latest('created_at') ->paginate(20); return SkillResource::collection($skills); } public function store(StoreSkillRequest $request): SkillResource { $skill = Skill::query()->create([ 'featured' => false, 'approved' => false, ...$request->validated(), 'user_id' => $request->user()->id, ]); return new SkillResource($skill->refresh()->load('user')); } public function show(Skill $skill): SkillResource { return new SkillResource($skill->load('user')); } public function update(UpdateSkillRequest $request, Skill $skill): SkillResource { $skill->update($request->validated()); return new SkillResource($skill->load('user')); } public function destroy(Skill $skill): Response { $skill->delete(); return response()->noContent(); } }