middleware('maintenance_mode'); $this->subscriberService = $subscriberService; } public function index() { try{ return view('marketing::subscribers.index'); }catch(Exception $e){ LogActivity::errorLog($e->getMessage()); Toastr::error(__('common.error_message'), __('common.error')); return back(); } } public function getData(){ $subscriber = $this->subscriberService->getAll(); return DataTables::of($subscriber) ->addIndexColumn() ->addColumn('date', function($subscriber){ return date(app('general_setting')->dateFormat->format, strtotime($subscriber->created_at)); }) ->addColumn('status', function($subscriber){ return view('marketing::subscribers.components._status_td',compact('subscriber')); }) ->addColumn('is_verified', function($subscriber){ return view('marketing::subscribers.components._is_verified_td',compact('subscriber')); }) ->addColumn('action', function($subscriber){ return view('marketing::subscribers.components._action_td',compact('subscriber')); }) ->rawColumns(['status','action']) ->toJson(); } public function destroy(Request $request) { try{ $this->subscriberService->deleteById($request->id); LogActivity::successLog('Subscriber Deleted Successfully.'); return $this->reloadWithData(); }catch(Exception $e){ LogActivity::errorLog($e->getMessage()); } } private function reloadWithData(){ try{ $subscribers = $this->subscriberService->getAll(); return view('marketing::subscribers.components.list',compact('subscribers')); }catch(Exception $e){ LogActivity::errorLog($e->getMessage()); } } public function statusChange(Request $request){ try{ $this->subscriberService->statusChange($request->except('_token')); LogActivity::successLog('Subscriber Status Change Successfully.'); return $this->reloadWithData(); } catch(Exception $e){ LogActivity::errorLog($e->getMessage()); } } public function sendVerifyLink(Request $request){ $result = $this->subscriberService->sendVerifyLink($request->id); if($result == 'verify_link_send'){ return response()->json([ 'msg' => 'success' ],200); } return response()->json([ 'msg' => 'error' ],500); } }