false, 'message'=>'fail', 'type'=>'error', 'data'=>[] ]; public function processAjaxRequest(Request $request) { $logData=[]; $inputData = $request->all(); $action = $inputData['action']; if($inputData['action'] == "GET_CREDIT_REPORT"){ $this->getCreditReport(); } if($inputData['action'] == "GET_CREDIT_REPORT_REFRESH_BUTTON_CONTENT"){ $this->getCreditReportRefreshButtonContent($inputData); } if($inputData['action'] == "GET_CREDIT_REPORT_REFRESH_DATE") { $inputData = auth()->user(); $inputData['password'] = customDecrypt($inputData['password']); $this->getSmartCreditRefreshDate($inputData); } if($inputData['action'] == "DELETE_RECURRING") { $postData['user_id']=auth()->user()->id; $returnData= (new Package())->deleteRecurring($postData); if($returnData) { $this->response['message'] = 'Recurring has deleted successfully'; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['type'] = 'success'; $this->response['status'] = true; $this->response['data']['html'] = $returnData; } } if($inputData['action'] == "SUBSCRIPTION_SMART_CREDIT") { $auth_user = auth()->user(); $type = config('constant.SUBSCRIPTION_SMART_CREDIT.SUBSCRIBE'); $type_id = config('constant.SUBSCRIPTION_STATUS.SUBSCRIBED'); if($auth_user->subscription_status == config('constant.SUBSCRIPTION_STATUS.SUBSCRIBED')){ $type = config('constant.SUBSCRIPTION_SMART_CREDIT.UNSUBSCRIBE'); $type_id = config('constant.SUBSCRIPTION_STATUS.CANCEL_ACCOUNT'); } $inputData['user_id'] = $auth_user->id; $inputData['type'] = $type; $inputData['report_type'] = $auth_user->credit_report_company_type; $inputData['type_id'] = $type_id; $inputData['email'] = $auth_user->email; $inputData['name'] = $auth_user->first_name.' '.$auth_user->last_name; $this->customer_subscription_status_submit($inputData); } if($inputData['action'] == "DELETE_CLIENT_DOC_FILE") { $this->deleteDocFile($inputData); } if($inputData['action'] == "CLOSE_SUPPORT_TICKET") { $this->closeSupportTicket($inputData); $inputData['userData'] = array_slice($inputData['userData'],0,8,false); } if($inputData['action'] == "REMINDER_SUPPORT_TICKET") { $this->sendReminder($inputData); } appLog($this->logDataCreate($action,getModelDataMasking($inputData),$this->response['message'],$this->response['status'],$this->response['code'] ?? "")); return response()->json($this->response,200); } public function processAdminAjaxRequest(Request $request) { $inputData = $request->all(); $clientId =[]; if($inputData['action'] == "DELETE_CLIENT" || $inputData['action'] == "DELETE_EMPLOYEE") { $clientId = $inputData['userData'][0]; } if($inputData['action'] == 'DELETE_MULTIPLE_CLIENT' || $inputData['action'] == "DELETE_MULTIPLE_EMPLOYEE"){ foreach ($inputData['userData'] as $user) { $data = json_decode($user); $clientId[] = $data[0]; } } $this->deleteClient($clientId,$inputData['delete_type']??''); appLog($this->logDataCreate($inputData['action'],getModelDataMasking($inputData),$this->response['message'], "",$this->response['code'] ?? "")); return response()->json($this->response,200); } public function processAdminGetAjaxRequest(Request $request) { $inputData = $request->all(); if($inputData['action'] == "GET_USER_PERMISSION") { $this->getUserPermission($inputData['id']); } if($inputData['action'] == "GET_SUBSCRIPTION_STATUS_CREDIT_REPORT_PROVIDER"){ $this->getSubscriptionStatusCreditReportProvider($inputData); } appLog($this->logDataCreate($inputData['action'],getModelDataMasking($inputData),$this->response['message'], $this->response['status'],$this->response['code'] ?? "")); return response()->json($this->response,200); } private function getCreditReport(){ $auth_user = auth()->user(); $user_id = $auth_user->id; $credit_report_type = $auth_user->credit_report_company_type; $creditReport = (new CreditReportService())->getUpdatedReport($user_id,$credit_report_type,$auth_user->ssn); if(empty($creditReport['credit_report_file_name']) && empty($creditReport['html'])){ $logData = []; $this->response['code'] = config('constant.OTP_SUCCESS_CODE'); $this->response['status'] = true; $email = $creditReport['credit_report_user_obj']['email']; $password = $creditReport['credit_report_user_obj']['password']; $this->response['data']['html'] = view('epicvelocity.one_time_password', ['email'=>$email,'password'=>$password])->render(); $logData['action'] = "ONE_TIME_PASSWORD_PAGE"; $logData['request'] = $email; $logData['response'] = $this->response['code']; appLog($logData); return; } if($creditReport['status']){ if(config('app.SMART_CREDIT_REPORT_BY_JSON') == '1' && $credit_report_type == config('constant.reportType.SMART_CREDIT')) { $creditReport['html'] = $this->generateHtml($creditReport['html']); } $this->response['status'] = true; $this->response['message'] = "Credit Report info fetched successfully"; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['data']['html'] = $creditReport['html']; }else{ $this->response['status'] = false; $this->response['message'] = "Can not fetched Data"; $this->response['code'] = config('constant.API_FAILED_CODE'); $this->response['data']['html'] = null; } } private function getSmartCreditRefreshDate($inputData) { $this->response['status'] = false; $response =[]; // $inputData['email'] = "stevetest@consumerdirect.com"; // $inputData['password'] ="12345678"; if($inputData->credit_report_company_type == config('constant.reportType.SMART_CREDIT')){ $response = (new CreditReportService())->getSmartCreditRefreshDate($inputData['email'], $inputData['password'], ''); }else if($inputData->credit_report_company_type == config('constant.reportType.IDENTITY_IQ')){ $response = (new CreditReportService())->getIdentityIQRefreshDate($inputData['email'], $inputData['password'], $inputData->ssn); } $this->response['message'] = ""; if(!empty($response)){ if ($response['refresh_date'] == "ERROR") { $this->response['status'] = false; $this->response['message'] = $response['message']; }else{ $this->response['status'] = true; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $remove_view_text = "View Latest Report"; $remove_purchase_text = "Purchase Report"; $remove_refresh_text = "Refresh Report"; $remove_notfound_text = "Not Found"; $removetext = "Refresh Available"; $response['refresh_date'] = str_replace([$remove_view_text,$remove_purchase_text,$remove_refresh_text,$remove_notfound_text],"",$response['refresh_date']); $response['refresh_date'] = str_replace("×\n","" , $response['refresh_date']); $this->response['button_type'] = $response['button_type']; $this->response['refresh_date'] = "REFRESH DATE (Next available) ".$response['refresh_date']; $this->response['type'] = "success"; $this->response['message'] = 'Fetched data successfully.'; } } } private function getCreditReportRefreshButtonContent($inputData){ $auth_user = auth()->user(); $response =''; /*$creditReportDataObj=[];*/ /*$creditReportDataObj['email'] = "stevetest@consumerdirect.com"; $creditReportDataObj['password'] ="123456789";*/ if($auth_user->credit_report_company_type == config('constant.reportType.SMART_CREDIT')){ $response = (new CreditReportService())->getSmartCreditRefreshButtonContent($auth_user['email'],customDecrypt($auth_user['password'])); }else if($auth_user->credit_report_company_type == config('constant.reportType.IDENTITY_IQ')){ $response = (new CreditReportService())->getIdentityRefreshButtonContent($auth_user['email'], customDecrypt($auth_user['password']), $auth_user->ssn); } $this->response['message'] = ""; if(!empty($response)){ $this->response['status'] = false; $this->response['code'] = config('constant.API_SUCCESS_CODE'); if( strtoupper($response) == 'DONE'){ $this->response['status'] = true; $this->response['message'] = "Congratulations! Your Refresh is Complete. Please click the Import to get Your Most Recent Report Now"; } if(strtoupper($response) == "ERROR" || strtoupper($response) == "TIME_OUT" ) { $this->response['message'] = 'Not found'; } if(strtoupper($response) == "BUTTON_NOT_FOUND"){ $this->response['message'] = $response; } } } public function getTrainingVideo(Request $request) { $inputData['action']="GET_TRAINING_VIDEO"; $sectionName=getSectionById($request['section_id']); $video= (new VideoSetting())->getVideoBySectionId($request['section_id']); if(!empty($video)) { $this->response['status'] = true; $this->response['data']['video'] =$video; $this->response['data']['section_name'] =$sectionName; $this->response['message'] = "Training Video fetched successfully"; $this->response['code'] = config('constant.API_SUCCESS_CODE'); } else { $this->response['data'] = ['section_name' => $sectionName]; } appLog($this->logDataCreate($inputData['action'],getModelDataMasking($inputData),$this->response['message'],$this->response['data']['html'] ?? "",$this->response['code'] ?? "")); return response()->json($this->response,200); } private function deleteClient($id,$delete_type) { $action='DELETE_CLIENT'; $message = 'Client has deleted successfully'; if($delete_type == 'employee') { $action='DELETE_EMPLOYEE'; $message = 'Employee has deleted successfully'; } if($id>0) { $returnData=(new User())->deleteUser($id); if($returnData) { $this->response['message'] = $message; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['type'] = 'success'; $this->response['status'] = true; } } return response()->json($this->response,200); } private function getUserPermission($id) { $action='GET_USER_PERMISSION'; $permitted_module= (new Permission())->getPermittedSubmoduleIdListByUserId($id); if($permitted_module) { $this->response['message'] = 'fetch data successfully'; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['type'] = 'success'; $this->response['status'] = true; $this->response['data']=$permitted_module; } return response()->json($this->response,200); } private function customer_subscription_status_submit($inputData){ $responseData=[]; $responseData['status_code'] = config('constant.API_SUCCESS_CODE'); if($responseData['status_code'] == config('constant.API_SUCCESS_CODE')){ Auth::user()->update([ 'subscription_status' => 0, 'status' => 2, 'account_cancel_datetime' => getCurrentDateTime() ]); $this->response['status'] = true; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['message'] = "Account has been cancelled successfully"; $this->response['type'] = "success"; }else{ $this->response['status'] = false; $this->response['code'] = config('constant.API_FAILED_CODE'); $this->response['message'] = "Account has not been cancelled. Please contact with support."; $this->response['type'] = "error"; } } private function logDataCreate($action,$request,$message,$response,$code) { $logData=[]; $logData['action'] = $action; $logData['data']['request'] = $request; $logData['data']['message'] = $message; $logData['data']['response'] = $response; $logData['data']['code'] = $code; return $logData; } private function cancelAccountMail($inputData) { $data['email'] = $inputData['email']; $data['email_body'] = $inputData['name']; $data['email_subject'] = "Cancel Account From Credit Counsel Elite"; $from = null; $attachment = null; $result = (new User())->getUserListByType(1); (new Email())->send($data, $data['email_subject'], $from, $attachment, 'email.account_closing_letter', $data['email']); (new Email())->send($data, $data['email_subject'], $from, $attachment, 'email.account_closing_admin_letter', $result[0]['email']); } private function getSubscriptionStatusCreditReportProvider($inputData){ $this->response = (new CreditReportService())->validateUserInCreditReportProvider($inputData); } private function generateHtml($json_data){ $data_set = (new SmartCreditJsonToHtml())->generateHtml($json_data); $html = ''; if($data_set != null) { $creditScore = $data_set['creditScore']; $personal_infos = $data_set['personal_infos']; $consumer_statement_data_set = $data_set['consumer_statement_data_set']; $summary_info_data_set = $data_set['summary_info_data_set']; $creditor_contact_data_set = $data_set['creditor_contact_data_set']; $inquiries_data_set = $data_set['inquiries_data_set']; $account_history_data_set = $data_set['account_history_data_set']; $html = view('partials.credit_report.main_report', compact('creditScore', 'personal_infos', 'consumer_statement_data_set', 'summary_info_data_set', 'creditor_contact_data_set', 'inquiries_data_set', 'account_history_data_set'))->render(); } return $html; } private function deleteDocFile($inputData) { $media_file = json_decode($inputData['userData'],true); $postData['user_id']=auth()->user()->id; $returnData = (new Uploadmedia())->deleteById($media_file['id']); if($returnData) { $file_path = config('constant.UPLOAD_MEDIA_PATH').DIRECTORY_SEPARATOR.auth()->user()->id; deleteFile($file_path.DIRECTORY_SEPARATOR.$media_file['image_path']); $this->response['message'] = 'File has been deleted successfully'; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['type'] = 'success'; $this->response['status'] = true; $this->response['data']['html'] = $returnData; } } private function closeSupportTicket($inputData) { $returnData = (new Support())->updateSupport($inputData['userData']); if($returnData) { $this->response['message'] = 'Ticket has been closed successfully'; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['type'] = 'success'; $this->response['status'] = true; $this->response['data']['html'] = $returnData; } } private function sendReminder($inputData){ $from = null; $attachment = null; $supports = (new Support())->getSupportId($inputData['supportId']); if(!empty($supports)) { $data['email'] = $supports->email; $data['email_body'] = "Please check your message.Ticket ID ".$supports->id; $data['email_subject'] = "You have a message."; (new Email())->send($data, $data['email_subject'], $from, $attachment, 'email.reminderletter', $data['email']); $this->response['message'] = 'Reminder has been sent to member successfully'; $this->response['code'] = config('constant.API_SUCCESS_CODE'); $this->response['type'] = 'success'; $this->response['status'] = true; } } }