clientRepo = $clientRepo; $this->ninjaRepo = $ninjaRepo; $this->datatableService = $datatableService; } /** * @return ClientRepository */ protected function getRepo() { return $this->clientRepo; } /** * @param $data * @param null $client * @return mixed|null */ public function save($data, $client = null) { if (Auth::user()->account->isNinjaAccount() && isset($data['plan'])) { $this->ninjaRepo->updatePlanDetails($data['public_id'], $data); } return $this->clientRepo->save($data, $client); } /** * @param $search * @param $userId * @return \Illuminate\Http\JsonResponse */ public function getDatatable($search, $userId) { $datatable = new ClientDatatable(); $query = $this->clientRepo->find($search, $userId); return $this->datatableService->createDatatable($datatable, $query); } }