validate($request, [ 'company_name' => 'required', 'registration_no' => 'required', 'template_id' => 'required', 'is_active' => 'required' ]); $data = $request->all(); $data['created_by'] = $this->currentName; if(isset($data['base_url']) && $data['base_url'] != NULL) { $data['base_url'] = json_encode($data['base_url'], true); } $result = Company::create($data); if ($result) { return response()->json(['status' => 'success','data' => $result, 'message' => 'add Company successfully!', 'code' => 200], 200); } else { return response()->json(['status' => 'failed', 'message' => 'add data Company failed!', 'code' => 400], 400); } } public function edit($id) { if (!$id || (int) $id < 0 || $id == "") { return response()->json(['status' => 'failed', 'message' => 'id is required!', 'code' => 400], 400); die(); } $result = Company::find($id); if ($result) { return response()->json(['status' => 'success', 'code' => 200, 'data' => $result], 200); } else { return response()->json(['status' => 'failed', 'message' => 'failed get data Company, please try again later!', 'code' => 400], 400); } } public function update(Request $request, $id) { if (!$id || (int) $id < 0 || $id == "") { return response()->json(['status' => 'failed', 'message' => 'id is required!', 'code' => 400], 400); } $data = Company::find($id); if(isset($data['base_url']) && $data['base_url'] != NULL) { $data->update(['base_url'=>null]); $data['base_url'] = json_encode($data['base_url'], true); } if ($data) { $result = $data->update($request->all()); } else { return response()->json(['status' => 'failed', 'message' => 'data Company not found!', 'code' => 400], 400); die(); } if ($result) { return response()->json(['status' => 'success', 'message' => 'data Company successfully updated!', 'code' => 200], 200); } else { return response()->json(['status' => 'failed', 'message' => 'data Company failed updated!', 'code' => 400], 400); } } public function delete($id) { $data = Company::find($id); if ($data) { MenuCompany::where('company_id',$id)->delete(); $delete = $data->delete(); } else { return response()->json(['status' => 'failed', 'message' => 'data Company not found!', 'code' => 400], 400); die(); } if ($delete) { return response()->json(['status' => 'success', 'message' => 'data Company successfully deleted!', 'code' => 200], 200); } else { return response()->json(['status' => 'failed', 'message' => 'data Company failed deleted!', 'code' => 400], 400); } } public function search(Request $request) { $payload = $request->all(); $dataBuilder = $this->setUpPayload($payload, 'm_company'); $builder = $dataBuilder['builder']; $countBuilder = $dataBuilder['count']; $dataGet = $builder->get(); $totalRecord = $countBuilder->count(); return response()->json(['status' => 'success', 'code' => 200, 'data' => $dataGet, 'totalRecord' => $totalRecord], 200); } public function list() { $data = Company::all(); $countData = $data->count(); if ($data) { return response()->json(['status' => 'success', 'code' => 200, 'data' => $data, 'totalRecord' => $countData], 200); } else { return response()->json(['status' => 'failed', 'message' => 'failed get list Company, please try again later!', 'code' => 400], 400); } } }