From 13c9ece3238353bb9243edcc5b78bef8cf067a47 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Wed, 5 Nov 2025 11:32:55 +0530 Subject: [PATCH] FEAT_EMP_SELF_MOBILE_NUMBER_UPDATE_API --- app/Config/Routes.php | 2 + .../RestAuthenticationController.php | 121 ++++++++++++++++++ 2 files changed, 123 insertions(+) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 39f986e..77276f5 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -454,6 +454,8 @@ $routes->post("employeeRest/saveMpin", "RestAuthenticationController::saveMpin") $routes->post("employeeRest/updateMpin", "RestAuthenticationController::updateMpin"); $routes->post("employeeRest/forgotMPIN", "RestAuthenticationController::forgotMPIN"); $routes->post("calculatePremium", "EmployeeRestController::calculatePremium"); +$routes->post("employeeRest/updateMobileNumber", "RestAuthenticationController::updateMobileNumber"); + // $routes->post("employeeRest/createOrUpdateEmployeePolicySiAmount", "EmployeeRestController::createOrUpdateEmployeePolicySiAmount"); // $routes->post("employeeRest/calculatePremium", "EmployeeRestController::calculatePremium"); diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index eeb6946..a9a322a 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -1312,4 +1312,125 @@ class RestAuthenticationController extends AdminController } + // -------------- EMP MOBILE NUMBER UPDATE API'S ------------------------------------------------------------------------------------------------------------- + + public function updateMobileNumber() + { + log_message('error', ' '); + log_message('error', ' ************************************* UPDATE MOBILE START **************************************** '); + log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Function called"); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Received payload = " . json_encode($this->request->getJSON() ?? [])); + + try { + + $payload = $this->request->getJSON(true); + + $email_id = $payload['email_id'] ?? null; + $new_mobile = $payload['new_mobile_number'] ?? null; + + if (empty($email_id) || empty($new_mobile)) { + return $this->respond([ + 'status' => 'failed', + 'code' => 400, + 'message' => 'Email ID and new mobile number are required' + ], 400); + } + + $empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id]); + // print_r($empdata); die; + + if(empty($empdata)){ + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: No employee data found both PRE & POST"); + log_message('error', ' '); + log_message('error', '************************ PRE END ********************************'); + $result = ['user_verification' => false , 'message' => "User not found"]; + return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200); + } + + $employeeData = []; + if (isset($empdata['pre']) && !empty($empdata['pre'])) { + $employeeData = $empdata['pre']; + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Using PRE data"); + } + + if (isset($employeeData['employee_id'])) + { + // Update mobile number + $updated = $this->employeeModel->update($employeeData['employee_id'], [ + 'mobile' => $new_mobile, + ]); + + if ($updated) { + + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Mobile number updated successfully"); + log_message('error', ' '); + log_message('error', ' ************************************* UPDATE MOBILE END **************************************** '); + log_message('error', ' '); + + //If post-enrollment data exist update the same mobile number from pre-enrollment. + if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) { + + $payload['client_id'] = $empdata['post']['client_id']; + $payload['employee_id'] = $empdata['post']['employee_id']; + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Client_id and employee_id from POST data to update the Mobile number"); + + $this->callThirdPartyAPI($payload, 'updateMobileNumber'); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Calling callThirdPartyAPI for updateMobileNumber"); + } + + return $this->respond([ + 'status' => 'success', + 'code' => 200, + 'message' => 'Mobile number updated successfully', + ], 200); + + } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Failed to update mobile number"); + return $this->respond([ + 'status' => 'failed', + 'code' => 500, + 'message' => 'Failed to update mobile number' + ], 500); + } + + }else{ + + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Employee not found with email in the PRE DATABASE, falling back to third-party API"); + + // Call the third-party API function + if (!empty($empdata['post']['client_id'])) { + $payload->client_id = $empdata['post']['client_id']; + } + return $this->callThirdPartyAPI($payload, 'updateMobileNumber'); + log_message('error', ' '); + log_message('error', '************************ PRE END ********************************'); + + } + + } catch (\Throwable $th) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Exception: " . $th->getMessage()); + log_message('error', ' '); + log_message('error', ' ************************************* UPDATE MOBILE END **************************************** '); + log_message('error', ' '); + + $errorData = [ + 'message' => $th->getMessage(), + 'file' => $th->getFile(), + 'line' => $th->getLine(), + 'code' => $th->getCode(), + 'trace' => $th->getTraceAsString(), + 'trace_array' => $th->getTrace(), // full array version (optional) + 'function' => $th->getTrace()[0]['function'] ?? null, + 'class' => $th->getTrace()[0]['class'] ?? null, + ]; + + return $this->respond([ + 'status' => 'failed', + 'code' => 500, + 'message' => 'Exception occurred', + 'error_data' => $errorData + ], 500); + } + } } \ No newline at end of file