File: /home/workzeni/stream-flix.workzenix.com/app/Http/Controllers/Admin/CategoryController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Category;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class CategoryController extends Controller
{
public function index()
{
$categories = Category::latest()->get();
return view('admin.pages.categories.index', compact('categories'));
}
public function create()
{
return view('admin.pages.categories.add');
}
// Store category
public function store(Request $request)
{
$category = Category::create([
'name' => $request->name,
'slug' => Str::slug($request->name),
'status' => $request->status,
'featured' => $request->featured,
]);
if ($request->ajax()) {
return response()->json([
'success' => true,
'category' => $category
]);
}
// If normal submit
return redirect()->route('category.list')->with('success', 'Category created successfully!');
}
public function edit(Category $category)
{
return view('admin.pages.categories.edit', compact('category'));
}
public function update(Request $request, Category $category)
{;
$category->update([
'name' => $request->name,
'slug' => Str::slug($request->name),
'status' => $request->status,
'featured' => $request->featured,
]);
if ($request->ajax()) {
return response()->json([
'success' => true,
'message' => 'Category updated successfully.',
'category' => $category
]);
}
// If normal submit
return redirect()->route('category.list')->with('success', 'Category updated successfully!');
}
public function destroy(Category $category)
{
$category->delete();
return redirect()->route('category.list');
}
}