MIF_E31212365/app/Http/Controllers/Admin/CategoryController.php

105 lines
2.9 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Kategori;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Inertia\Inertia;
class CategoryController extends Controller
{
public function index()
{
return Inertia::render('Admin/Category', []);
}
public function getKategori(Request $request)
{
try {
//code...
$kategori = Kategori::with(['module'])->orderBy('created_at', 'DESC');
if ($request->has('search')) {
$kategori->where('nama', 'like', '%' . $request->search . '%');
}
return response()->json([
"status" => "success",
"message" => "Data kategori berhasil diambil",
"result" => $kategori->paginate(10)
], 200);
} catch (\Throwable $th) {
//throw $th;
return response()->json([
"status" => "error",
"message" => $th->getMessage(),
], 400);
}
}
public function storeKategori(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|max:50',
]);
if ($validator->fails()) {
return response()->json(['message' => 'Validation failed', 'errors' => $validator->errors()->first()], 400);
}
$data = new Kategori;
$data->nama = $request->name;
$data->save();
// Berikan respon dengan data yang berhasil dibuat
return response()->json(['message' => 'Data created successfully', 'data' => $data], 201);
}
public function updateKategori(Request $request)
{
$validator = Validator::make($request->all(), [
'id' => 'required',
'name' => 'required|string|max:50',
]);
if ($validator->fails()) {
return response()->json(['message' => 'Validation failed', 'errors' => $validator->errors()->first()], 400);
}
$data = Kategori::find($request->id);
if (!$data) {
return response()->json(['message' => 'Data not found'], 404);
}
$data->nama = $request->name;
$data->save();
return response()->json(['message' => 'Data updated successfully', 'data' => $data], 200);
}
public function deleteKategori(Request $request)
{
$data = Kategori::find($request->id);
if (!$data) {
return response()->json(['message' => 'Data not found'], 404);
}
try {
//code...
$data->delete();
} catch (\Throwable $th) {
//throw $th;
return response()->json(['message' => "Data kategori tidak dapat dihapus"], 400);
}
return response()->json(['message' => 'Data deleted successfully'], 200);
}
}