recurringExpenseRepo = $recurringExpenseRepo; $this->datatableService = $datatableService; } /** * @return CreditRepository */ protected function getRepo() { return $this->recurringExpenseRepo; } /** * @param $data * @param mixed $recurringExpense * * @return mixed|null */ public function save($data, $recurringExpense = false) { if (isset($data['client_id']) && $data['client_id']) { $data['client_id'] = Client::getPrivateId($data['client_id']); } if (isset($data['vendor_id']) && $data['vendor_id']) { $data['vendor_id'] = Vendor::getPrivateId($data['vendor_id']); } return $this->recurringExpenseRepo->save($data, $recurringExpense); } /** * @param $clientPublicId * @param $search * @param mixed $userId * * @return \Illuminate\Http\JsonResponse */ public function getDatatable($search, $userId) { $query = $this->recurringExpenseRepo->find($search); if (! Utils::hasPermission('view_expense')) { $query->where('recurring_expenses.user_id', '=', Auth::user()->id); } return $this->datatableService->createDatatable(new RecurringExpenseDatatable(), $query); } }