paginate(10); return view('services::admin.services.index', compact('services')); } public function create() { return view('services::admin.services.create'); } public function store(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'slug' => 'required|string|max:255|unique:services', 'description' => 'nullable|string', 'icon' => 'nullable|string|max:100', 'image' => 'nullable|image|max:2048', 'order' => 'required|integer', 'active' => 'required|boolean', ]); $data = $request->all(); if ($request->hasFile('image')) { $data['image'] = $request->file('image')->store('services', 'public'); } Service::create($data); return redirect()->route('admin.services.index')->with('success', 'Serviço criado com sucesso.'); } public function edit(Service $service) { return view('services::admin.services.edit', compact('service')); } public function update(Request $request, Service $service) { $request->validate([ 'name' => 'required|string|max:255', 'slug' => 'required|string|max:255|unique:services,slug,' . $service->id, 'description' => 'nullable|string', 'icon' => 'nullable|string|max:100', 'image' => 'nullable|image|max:2048', 'order' => 'required|integer', 'active' => 'required|boolean', ]); $data = $request->all(); if ($request->hasFile('image')) { if ($service->image) { Storage::disk('public')->delete($service->image); } $data['image'] = $request->file('image')->store('services', 'public'); } $service->update($data); return redirect()->route('admin.services.index')->with('success', 'Serviço atualizado com sucesso.'); } public function destroy(Service $service) { if ($service->image) { Storage::disk('public')->delete($service->image); } $service->delete(); return redirect()->route('admin.services.index')->with('success', 'Serviço excluído com sucesso.'); } }