diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index daec5ee3..0c2089b6 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -26,6 +26,9 @@ use App\Models\ClientModel; use App\Models\UserActivityHistoryModel; use Firebase\JWT\JWT; +use Firebase\JWT\JWK; +use GuzzleHttp\Client; + // require_once('../vendor/autoload.php'); @@ -81,9 +84,16 @@ class RestAuthenticationController extends AdminController public function verifyEmployeeWithMobileNumber() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Verify Employee With Mobile Number: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Received payload = " . json_encode($this->request->getJSON() ?? [])); + try { $mobile_number = $this->request->getJSON()->mobile_number; + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Received mobile_number = " . $mobile_number); $employeeData = $this->employeeModel->select('employees.relationship,EP.employee_id') @@ -95,30 +105,48 @@ class RestAuthenticationController extends AdminController ->where('EP.is_active', 1) ->whereIn('EP.status', ['active', 'expired']) ->first(); + + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: employeeData: " . json_encode($employeeData ?? [])); - - if (isset($employeeData['employee_id'])) { - + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Employee found: employee_id = " . $employeeData['employee_id']); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => true ,'message' => "Verified Successfully"]; return $this->respond(['status' => 'success','code' => 200,'data' => $result],200); } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: No matching employee found"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => false , 'message' => "User not found"]; return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200); } } catch (\Throwable $th) { - $this->myLogger->logme("error", ($th->getMessage().' --- '.$th->getLine())); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); } } public function verifyEmployeeWithEmailId() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Verify Employee With EmailId: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: Received payload = " . json_encode($this->request->getJSON() ?? [])); + + try { - log_message('error', json_encode($this->request->getJSON())); $email = $this->request->getJSON()->email; $client_id = $this->request->getJSON()->client_id ?? null; @@ -146,6 +174,11 @@ class RestAuthenticationController extends AdminController $builder->orderBy('employees.id', 'desc'); $employeeData = $builder->first(); + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: employeeData: " . json_encode($employeeData ?? [])); + + if (isset($employeeData['employee_id'])) { $otp = random_int(100000, 999999); @@ -165,9 +198,12 @@ class RestAuthenticationController extends AdminController } $update = $builder->set(['otp' => $otp])->update(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: OTP update query executed. SQL = " . db_connect()->getLastQuery()); + if ($update) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: OTP updated successfully in POST DATABASE"); $common = [ 'client_id' => $employeeData['client_id'], 'client_branch_id' => $employeeData['client_branch_id'], @@ -178,35 +214,56 @@ class RestAuthenticationController extends AdminController ]; $subject = 'Nhance user verification - OTP'; $mail_content = $otp . ' is your verification code for Nhance.'; + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: Sending OTP email to " . $employeeData['email_corporate']); $res = MailHelper::send_email(['mail' => $employeeData['email_corporate'], 'subject' => $subject, 'common' => $common, 'message' => $mail_content]); - $this->myLogger->logme("info", $res); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: Mail response = " . $res); if (json_decode($res)->status == 'success') { + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => true, 'message' => "Verified Successfully"]; return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result], 200); } else { + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => false, 'message' => "Mail sending failed , try again"]; return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200); } } else { - + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: OTP update failed in POST DATABASE"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => false, 'message' => "Verification failed , try again"]; return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200); } } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: Employee not found with email in the POST DATABASE"); $result = ['user_verification' => false, 'message' => "User not found"]; return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200); } } catch (\Throwable $th) { - $this->myLogger->logme("error", ($th->getMessage().' --- '.$th->getLine())); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithEmailId: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $th], 500); } } public function updateEmpOTP() - { + { + + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Update Employee OTP: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateEmpOTP: Received payload = " . json_encode($this->request->getJSON() ?? [])); + $email = $this->request->getJSON()->email; $otp = $this->request->getJSON()->otp; @@ -236,7 +293,14 @@ class RestAuthenticationController extends AdminController $builder->where('id', $employee_id); } - $builder->set(['otp' => $otp])->update(); + $update = $builder->set(['otp' => $otp])->update(); + + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateEmpOTP: Update result = " . json_encode($update)); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateEmpOTP: Last SQL = " . db_connect()->getLastQuery()); + + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return true; @@ -341,11 +405,14 @@ class RestAuthenticationController extends AdminController } } - - - public function getVerifiedUserData() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Get Verified User Data: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: Received payload = " . json_encode($this->request->getJSON() ?? [])); + try { $otp_verification = isset($this->request->getJSON()->otp_verification) ? $this->request->getJSON()->otp_verification : null; @@ -399,6 +466,10 @@ class RestAuthenticationController extends AdminController } } + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: employeeData: " . json_encode($employeeData ?? [])); + if ($employeeData && $otp_verification == true || $employeeData && isset($this->request->getJSON()->login_by_hr) || $employeeData && isset($this->request->getJSON()->otp) ) { $auth = HttpRequestHelper::getRequestInfo(); @@ -418,14 +489,27 @@ class RestAuthenticationController extends AdminController if(isset($this->request->getJSON()->otp)){ $this->employeeModel->where('id', $employeeData['id'])->where('otp', $otp)->where('relationship', 'self')->set(['otp'=>null])->update(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: Reset the otp to null"); } + log_message('error', ' '); + log_message('error', '************************ POST END ********************************'); + log_message('error', ' '); + return $this->respond(['status' => 'success','code' => 200,'data' => $result],200); } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: Employee not verified POST"); + log_message('error', ' '); + log_message('error', '************************ POST END ********************************'); + log_message('error', ' '); return $this->respond(['status' => 'failed','code' => 404,'data' => []],200); } } catch (\Exception $e) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - getVerifiedUserData: Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond(['status' => 'failed','code' => 500,'data' =>[], 'error' => $e->getMessage()],500); } } @@ -501,7 +585,7 @@ class RestAuthenticationController extends AdminController $subject = 'Nhance user verification - OTP'; $mail_content = $otp . ' is your verification code for Nhance.'; $res = MailHelper::send_email(['mail' => $email, 'subject' => $subject, 'common' => $common, 'message' => $mail_content]); - $this->myLogger->logme("info", $res); + $this->myLogger->logme("error", $res); if (json_decode($res)->status == 'success') { $result = ['user_verification' => true, 'message' => "Verified Successfully"]; @@ -648,7 +732,13 @@ class RestAuthenticationController extends AdminController public function saveMpin() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Save Mpin: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - saveMpin: Received payload = " . json_encode($this->request->getJSON() ?? [])); + try { $mobile_number = isset($this->request->getJSON()->mobile_number) ? $this->request->getJSON()->mobile_number : null; @@ -692,6 +782,10 @@ class RestAuthenticationController extends AdminController $employeeData = $builder->orderBy('employees.id', 'desc')->first(); } + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - saveMpin: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - saveMpin: employeeData: " . json_encode($employeeData ?? [])); + $mpin = $this->request->getJSON()->mpin; $is_mpin_skipped = $this->request->getJSON()->is_mpin_skipped; $is_biometric_enabled = $this->request->getJSON()->is_biometric_enabled; @@ -702,33 +796,51 @@ class RestAuthenticationController extends AdminController 'is_biometric_enabled' => $is_biometric_enabled ]; - - if ($employeeData) { $id= $employeeData["id"]; $updateMpin = $this->employeeModel->where('id', $id)->set( $mpin_data_to_updata)->update(); + if($updateMpin){ + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - saveMpin: MPIN updated successfully"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => true , 'message' => "Mpin Updated"]; return $this->respond(['status' => 'success','code' => 200,'data' => $result],200); }else{ + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - saveMpin: MPIN update failed"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => true , 'message' => "Mpin Not Updated"]; return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200); } - - } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - saveMpin: Employee not found in the POST"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['user_verification' => false , 'message' => "User not found"]; return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200); } } catch (\Throwable $th) { - $this->myLogger->logme("error", ($th->getMessage().' --- '.$th->getLine())); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - saveMpin: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); } } public function updateMpin() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Update Mpin: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMpin: Received payload = " . json_encode($this->request->getJSON() ?? [])); + try { $mobile_number = isset($this->request->getJSON()->mobile_number) ? $this->request->getJSON()->mobile_number : null; @@ -783,26 +895,44 @@ class RestAuthenticationController extends AdminController $employeeData = $builder->orderBy('employees.id', 'desc')->first(); } + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMpin: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMpin: employeeData: " . json_encode($employeeData ?? [])); if ($employeeData) { $id= $employeeData["id"]; $updateMpin = $this->employeeModel->where('id', $id)->set('mpin', $mpin)->update(); if($updateMpin){ + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMpin: MPIN updated successfully"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['mpin_verification' => true , 'message' => "Mpin Updated"]; return $this->respond(['status' => 'success','code' => 200,'data' => $result],200); }else{ + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMpin: MPIN update failed"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['mpin_verification' => true , 'message' => "Mpin Not Updated"]; return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200); } } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMpin: Employee not found in the POST. Wrong MPIN"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); $result = ['mpin_verification' => false , 'message' => "Wrong Mpin"]; return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200); } } catch (\Throwable $th) { - $this->myLogger->logme("error", ($th->getMessage().' --- '.$th->getLine())); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMpin: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); } } @@ -869,7 +999,13 @@ class RestAuthenticationController extends AdminController // } public function verifyMpin() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Verify Mpin: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: Received payload = " . json_encode($this->request->getJSON() ?? [])); + try { $requestData = $this->request->getJSON(true); @@ -924,10 +1060,16 @@ class RestAuthenticationController extends AdminController return $this->respond(['status' => 'failed', 'code' => 400, 'data' => 'Mobile number or Email ID is required'], 400); } + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: employeeData: " . json_encode($employeeData ?? [])); + // print_r($employeeData); die; if ($employeeData && isset($employeeData['mpin']) && $mpin === $employeeData['mpin']) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: Verified employee found"); + $auth = HttpRequestHelper::getRequestInfo(); if ($auth) { $this->authHistoryModel->insert([ @@ -941,30 +1083,36 @@ class RestAuthenticationController extends AdminController $token = JWTToken::encode($employeeData); - return $this->respond([ - 'status' => 'success', - 'code' => 200, - 'data' => $token - ], 200); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); + + return $this->respond(['status' => 'success','code' => 200,'data' => $token], 200); } else { - return $this->respond([ - 'status' => 'failed', - 'code' => 404, - 'data' => 'Invalid MPIN' - ], 200); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: Employee not verified in POST. Invalid MPIN"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); + + return $this->respond(['status' => 'failed','code' => 404,'data' => 'Invalid MPIN'], 200); } } catch (\Exception $e) { - $this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine())); - return $this->respond([ - 'status' => 'failed', - 'code' => 500, - 'data' => $e->getMessage() - ], 500); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyMpin: Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); + return $this->respond(['status' => 'failed','code' => 500, 'data' => $e->getMessage()], 500); } } public function checkMpin() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Check Mpin: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: Received payload = " . json_encode($this->request->getJSON() ?? [])); + try { $mobile_number = isset($this->request->getJSON()->mobile_number) ? $this->request->getJSON()->mobile_number : null; $email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null; @@ -1008,32 +1156,50 @@ class RestAuthenticationController extends AdminController $employeeData = $builder->orderBy('employees.id', 'desc')->first(); } - - + + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: employeeData: " . json_encode($employeeData ?? [])); + if ($employeeData && $employeeData["mpin"] != null) { - + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: Mpin - Exist"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond(['status' => 'success','code' => 200,'data' => "Mpin - exist" , 'Mpin' =>$employeeData["mpin"], 'is_mpin_skipped' => $employeeData['is_mpin_skipped'], 'is_biometric_enabled' => $employeeData['is_biometric_enabled']],200); } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: Mpin - not found"); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond(['status' => 'failed','code' => 404,'data' => "Mpin - not found", 'Mpin' =>null],200); } + } catch (\Exception $e) { - $this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine())); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkMpin: Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); + return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); } } public function forgotMPIN() - { + { + log_message('error', ' '); + log_message('error', ' ************************************* POST START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Forgot MPIN: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - forgotMPIN: Received payload = " . json_encode($this->request->getJSON() ?? [])); + try { - log_message('info', 'forgotMPIN() called.'); $json = $this->request->getJSON(); $mobile_number = $json->mobile_number ?? null; $email_id = $json->email_id ?? null; $client_id = $json->client_id ?? null; - log_message('info', 'Received input - Mobile: ' . var_export($mobile_number, true) . ', Email: ' . var_export($email_id, true)); - // Step 1: Check input if (!$mobile_number && !$email_id) { log_message('error', 'Mobile number and email ID are both missing.'); @@ -1084,11 +1250,14 @@ class RestAuthenticationController extends AdminController $employeeData = $builder->orderBy('employees.id', 'desc')->first(); } - log_message('info', '$employeeData : ' . json_encode($employeeData)); + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - forgotMPIN: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - forgotMPIN: employeeData: " . json_encode($employeeData ?? [])); + // Step 3: Found employee if (!empty($employeeData)) { - log_message('info', 'Employee found: ID = ' . $employeeData['id']); + log_message('error', 'Employee found: ID = ' . $employeeData['id']); $updateData = [ 'mpin' => null, @@ -1096,7 +1265,7 @@ class RestAuthenticationController extends AdminController 'is_biometric_enabled' => null ]; - log_message('info', 'Updating employee MPIN fields to null for ID: ' . $employeeData['id']); + log_message('error', 'Updating employee MPIN fields to null for ID: ' . $employeeData['id']); $updated = $this->employeeModel ->where('id', $employeeData['id']) @@ -1120,10 +1289,14 @@ class RestAuthenticationController extends AdminController } } else { // Step 4: Not found in local DB — call external fallback - log_message('warning', 'Employee not found locally. Falling back to third-party API.'); - return $this->respond(['status' => 'failed','code' => 404,'data' => "Employee not found"],200); } + log_message('error', 'Employee not found locally'); + return $this->respond(['status' => 'failed','code' => 404,'data' => "Employee not found"],200); + } } catch (\Throwable $e) { - $this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine())); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - forgotMPIN: Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); + log_message('error', ' '); + log_message('error', ' ************************************* POST END **************************************** '); + log_message('error', ' '); return $this->respond([ 'status' => 'failed', 'code' => 500, @@ -1243,6 +1416,34 @@ class RestAuthenticationController extends AdminController } + public function verifyToken() + { + $json = $this->request->getJSON(); + $idToken = $json->token ?? null; - + if (!$idToken) { + return $this->fail("Token is missing", 400); + } + + try { + $client = new Client(); + + // Get JWK keys from Firebase + $jwk = json_decode($client->get("https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com")->getBody(), true); + + // Decode JWT using the JWK set + $decoded = JWT::decode($idToken, JWK::parseKeySet($jwk)); + + // Optional: Check audience and issuer + $aud = "nhance-ee8d1"; // replace with your Firebase project ID + if ($decoded->aud !== $aud || $decoded->iss !== "https://securetoken.google.com/{$aud}") { + return $this->fail("Invalid token audience or issuer", 401); + } + + // You can now use $decoded->uid or $decoded->phone_number + return $this->respond(['status' => 'success', 'uid' => $decoded->user_id ?? '', 'phone' => $decoded->phone_number ?? ''], 200); + } catch (\Exception $e) { + return $this->fail("Invalid Token: " . $e->getMessage(), 401); + } + } } \ No newline at end of file diff --git a/app/Models/PolicyTransactionModel.php b/app/Models/PolicyTransactionModel.php index 49170213..5eabf684 100644 --- a/app/Models/PolicyTransactionModel.php +++ b/app/Models/PolicyTransactionModel.php @@ -1127,7 +1127,7 @@ class PolicyTransactionModel extends Model if ($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0) { - $fromDate = date('Y-m-d', strtotime('-30 days')); + $fromDate = date('Y-m-d', strtotime('-60 days')); $toDate = date('Y-m-d 23:59:59'); $builder->where('policy_transaction.created_at >=', $fromDate)