user()->business_id) ->when(request('status'), function ($query) { $query->where('status', request('status') == 'active' ? 1 : 0); }) ->latest()->get(); return response()->json([ 'message' => __('Data fetched successfully.'), 'data' => $data, ]); } public function store(Request $request) { $request->validate([ 'name' => 'required|unique:departments,name,NULL,id,business_id,' . auth()->user()->business_id, 'description' => 'nullable|string', 'status' => 'nullable|boolean', ]); $data = Department::create($request->all() + [ 'business_id' => auth()->user()->business_id ]); return response()->json([ 'message' => __('Data saved successfully.'), 'data' => $data, ]); } public function show($id) { $data = Department::where('business_id', auth()->user()->business_id)->findOrFail($id); return response()->json([ 'message' => __('Data fetched successfully.'), 'data' => $data, ]); } public function update(Request $request, $id) { $department = Department::where('business_id', auth()->user()->business_id) ->find($id); if (!$department) { return response()->json([ 'message' => __('Data not found.'), ], 404); } $request->validate([ 'name' => 'required|unique:departments,name,' . $id . ',id,business_id,' . auth()->user()->business_id, 'description' => 'nullable|string', 'status' => 'nullable|boolean', ]); $department->update($request->except('business_id')); return response()->json([ 'message' => __('Data saved successfully.'), 'data' => $department, ]); } public function destroy($id) { $department = Department::where('business_id', auth()->user()->business_id) ->find($id); if (!$department) { return response()->json([ 'message' => __('Data not found.'), ], 404); } $department->delete(); return response()->json([ 'message' => __('Data deleted successfully.'), ]); } }