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); } }