FEAT_REST_AUTH_HELPER_AND_MPIN_CHANGES : RV
This commit is contained in:
parent
1be1f421ab
commit
8784c20bf6
@ -1075,6 +1075,7 @@ class EmployeeRestController extends AdminController
|
|||||||
return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Client id and Client Policy id is Not Match!" ], 404);
|
return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Client id and Client Policy id is Not Match!" ], 404);
|
||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
$this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine()));
|
||||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ use App\Controllers\LoginController;
|
|||||||
use App\Helpers\DepositHelper;
|
use App\Helpers\DepositHelper;
|
||||||
use App\Helpers\JWTToken;
|
use App\Helpers\JWTToken;
|
||||||
use App\Helpers\HttpRequestHelper;
|
use App\Helpers\HttpRequestHelper;
|
||||||
|
use App\Helpers\RestAuthHelper;
|
||||||
|
|
||||||
use CodeIgniter\HTTP\IncomingRequest;
|
use CodeIgniter\HTTP\IncomingRequest;
|
||||||
use CodeIgniter\HTTP\RequestInterface;
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
@ -96,6 +97,12 @@ class RestAuthenticationController extends AdminController
|
|||||||
try {
|
try {
|
||||||
$mobile_number = $this->request->getJSON()->mobile_number;
|
$mobile_number = $this->request->getJSON()->mobile_number;
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['mobile_number' => $mobile_number]);
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
$result = ['user_verification' => false , 'message' => "User not found"];
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
|
||||||
|
}
|
||||||
|
|
||||||
$employeeData = $this->employeeModel->select('employees.relationship,EP.employee_id')
|
$employeeData = $this->employeeModel->select('employees.relationship,EP.employee_id')
|
||||||
->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner')
|
->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner')
|
||||||
@ -106,8 +113,14 @@ class RestAuthenticationController extends AdminController
|
|||||||
->where('EP.is_active', 1)
|
->where('EP.is_active', 1)
|
||||||
->whereIn('EP.status', ['draft', 'enrolled', 'expired'])
|
->whereIn('EP.status', ['draft', 'enrolled', 'expired'])
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
} elseif (isset($empdata['post']) && !empty($empdata['post'])) {
|
||||||
|
$employeeData = $empdata['post'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (isset($employeeData['employee_id']))
|
if (isset($employeeData['employee_id']))
|
||||||
{
|
{
|
||||||
@ -116,7 +129,6 @@ class RestAuthenticationController extends AdminController
|
|||||||
} else {
|
} else {
|
||||||
// Call the third-party API function
|
// Call the third-party API function
|
||||||
return $this->callThirdPartyAPI($this->request->getJSON(),'verifyEmployeeNumber');
|
return $this->callThirdPartyAPI($this->request->getJSON(),'verifyEmployeeNumber');
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
||||||
@ -128,9 +140,16 @@ class RestAuthenticationController extends AdminController
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
$data = $this->request->getJSON();
|
$data = $this->request->getJSON();
|
||||||
|
|
||||||
$email = $data->email;
|
$email = $data->email;
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email]);
|
||||||
|
// print_r($empdata); die;
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
$result = ['user_verification' => false , 'message' => "User not found"];
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
|
||||||
|
}
|
||||||
|
|
||||||
$employeeData = $this->employeeModel->select('
|
$employeeData = $this->employeeModel->select('
|
||||||
employees.relationship,
|
employees.relationship,
|
||||||
EP.employee_id,
|
EP.employee_id,
|
||||||
@ -146,7 +165,13 @@ class RestAuthenticationController extends AdminController
|
|||||||
->where('employees.email_corporate', $email)
|
->where('employees.email_corporate', $email)
|
||||||
->where('EP.is_active', 1)
|
->where('EP.is_active', 1)
|
||||||
->whereIn('EP.status', ['draft', 'enrolled', 'expired'])
|
->whereIn('EP.status', ['draft', 'enrolled', 'expired'])
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (isset($employeeData['employee_id'])) {
|
if (isset($employeeData['employee_id'])) {
|
||||||
|
|
||||||
@ -160,7 +185,7 @@ class RestAuthenticationController extends AdminController
|
|||||||
UPDATE employees
|
UPDATE employees
|
||||||
INNER JOIN employee_polices ON employee_polices.employee_id = employees.id
|
INNER JOIN employee_polices ON employee_polices.employee_id = employees.id
|
||||||
SET employees.otp = ?
|
SET employees.otp = ?
|
||||||
WHERE employees.email_corporate = ?
|
WHERE employees.id = ?
|
||||||
AND employees.relationship = 'self'
|
AND employees.relationship = 'self'
|
||||||
AND employees.is_active = 1
|
AND employees.is_active = 1
|
||||||
AND employee_polices.is_active = 1
|
AND employee_polices.is_active = 1
|
||||||
@ -168,12 +193,17 @@ class RestAuthenticationController extends AdminController
|
|||||||
";
|
";
|
||||||
|
|
||||||
$db = db_connect();
|
$db = db_connect();
|
||||||
$update = $db->query($sql, [$otp, $email]);
|
// $update = $db->query($sql, [$otp, $email]);
|
||||||
|
$update = $db->query($sql, [$otp, $employeeData['employee_id']]);
|
||||||
|
|
||||||
|
|
||||||
if($update)
|
if($update)
|
||||||
{
|
{
|
||||||
$data->otp = $otp;
|
$data->otp = $otp;
|
||||||
|
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||||
|
$data->client_id = $empdata['post']['client_id'];
|
||||||
|
$data->employee_id = $empdata['post']['employee_id'];
|
||||||
|
}
|
||||||
$this->callThirdPartyAPI($data, 'updateEmpOTP');
|
$this->callThirdPartyAPI($data, 'updateEmpOTP');
|
||||||
|
|
||||||
|
|
||||||
@ -203,10 +233,17 @@ class RestAuthenticationController extends AdminController
|
|||||||
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200);
|
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
$apiParams = $this->request->getJSON();
|
||||||
|
if (!empty($empdata['post']['client_id'])) {
|
||||||
|
$apiParams->client_id = $empdata['post']['client_id'];
|
||||||
|
}
|
||||||
|
// print_r($apiParams); die;
|
||||||
// Call the third-party API function
|
// Call the third-party API function
|
||||||
return $this->callThirdPartyAPI($this->request->getJSON(), 'verifyEmployeeEmailId');
|
return $this->callThirdPartyAPI($apiParams, 'verifyEmployeeEmailId');
|
||||||
}
|
}
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
|
$this->myLogger->logme("error", ($th->getMessage().' --- '.$th->getLine()));
|
||||||
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $th], 500);
|
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $th], 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -225,6 +262,14 @@ class RestAuthenticationController extends AdminController
|
|||||||
{
|
{
|
||||||
$employeeData = $this->employeeModel->where('id', $this->request->getJSON()->employee_id)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
|
$employeeData = $this->employeeModel->where('id', $this->request->getJSON()->employee_id)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id, 'otp' => $otp ]);
|
||||||
|
// print_r($empdata); die;
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP"],200);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($mobile_number))
|
if (isset($mobile_number))
|
||||||
{
|
{
|
||||||
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
|
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
|
||||||
@ -254,9 +299,22 @@ class RestAuthenticationController extends AdminController
|
|||||||
->orderBy('id', 'desc')
|
->orderBy('id', 'desc')
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$requestData = $this->request->getJSON();
|
||||||
|
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||||
|
$requestData->client_id = $empdata['post']['client_id'];
|
||||||
|
$requestData->employee_id = $empdata['post']['employee_id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// print_r($requestData); die;
|
||||||
|
|
||||||
if ($employeeData && $otp_verification == true || $employeeData && isset($this->request->getJSON()->login_by_hr) || $employeeData && isset($this->request->getJSON()->otp) )
|
if ($employeeData && $otp_verification == true || $employeeData && isset($this->request->getJSON()->login_by_hr) || $employeeData && isset($this->request->getJSON()->otp) )
|
||||||
{
|
{
|
||||||
$auth = HttpRequestHelper::getRequestInfo();
|
$auth = HttpRequestHelper::getRequestInfo();
|
||||||
@ -271,7 +329,8 @@ class RestAuthenticationController extends AdminController
|
|||||||
$this->authHistoryModel->insert($data);
|
$this->authHistoryModel->insert($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// print_r($employeeData); die;
|
||||||
|
unset($employeeData['employee_id']);
|
||||||
$result = JWTToken::encode($employeeData);
|
$result = JWTToken::encode($employeeData);
|
||||||
|
|
||||||
if(isset($this->request->getJSON()->otp)){
|
if(isset($this->request->getJSON()->otp)){
|
||||||
@ -279,17 +338,18 @@ class RestAuthenticationController extends AdminController
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Call the third-party API function
|
// Call the third-party API function
|
||||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'getVerifiedUserData');
|
$apiResponse = $this->callThirdPartyAPI($requestData,'getVerifiedUserData');
|
||||||
return $this->respond(['status' => 'success','code' => 200,'data' => $result , 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result , 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Call the third-party API function
|
// Call the third-party API function
|
||||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'getVerifiedUserData');
|
$apiResponse = $this->callThirdPartyAPI($requestData,'getVerifiedUserData');
|
||||||
return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP" , 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP" , 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
$this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine()));
|
||||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500);
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -497,6 +557,14 @@ class RestAuthenticationController extends AdminController
|
|||||||
$mobile_number = isset($this->request->getJSON()->mobile_number) ? $this->request->getJSON()->mobile_number : null;
|
$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;
|
$email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id, 'mobile_number' => $mobile_number ]);
|
||||||
|
// print_r($empdata); die;
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
$result = ['user_verification' => false , 'message' => "User not found"];
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($mobile_number)) {
|
if (isset($mobile_number)) {
|
||||||
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
|
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
|
||||||
$employeeData = $this->employeeModel
|
$employeeData = $this->employeeModel
|
||||||
@ -525,6 +593,11 @@ class RestAuthenticationController extends AdminController
|
|||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
}
|
||||||
|
|
||||||
$mpin = $this->request->getJSON()->mpin;
|
$mpin = $this->request->getJSON()->mpin;
|
||||||
$is_mpin_skipped = $this->request->getJSON()->is_mpin_skipped;
|
$is_mpin_skipped = $this->request->getJSON()->is_mpin_skipped;
|
||||||
$is_biometric_enabled = $this->request->getJSON()->is_biometric_enabled;
|
$is_biometric_enabled = $this->request->getJSON()->is_biometric_enabled;
|
||||||
@ -534,12 +607,18 @@ class RestAuthenticationController extends AdminController
|
|||||||
'is_mpin_skipped' => $is_mpin_skipped,
|
'is_mpin_skipped' => $is_mpin_skipped,
|
||||||
'is_biometric_enabled' => $is_biometric_enabled
|
'is_biometric_enabled' => $is_biometric_enabled
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$requestData = $this->request->getJSON();
|
||||||
|
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||||
|
$requestData->client_id = $empdata['post']['client_id'];
|
||||||
|
$requestData->employee_id = $empdata['post']['employee_id'];
|
||||||
|
}
|
||||||
|
|
||||||
if ($employeeData) {
|
if ($employeeData) {
|
||||||
$id= $employeeData["id"];
|
$id= $employeeData["id"];
|
||||||
$updateMpin = $this->employeeModel->where('id', $id)->set($mpin_data_to_updata)->update();
|
$updateMpin = $this->employeeModel->where('id', $id)->set($mpin_data_to_updata)->update();
|
||||||
if($updateMpin){
|
if($updateMpin){
|
||||||
$this->callThirdPartyAPI($this->request->getJSON(), 'saveMpin');
|
$this->callThirdPartyAPI($requestData, 'saveMpin');
|
||||||
$result = ['user_verification' => true , 'message' => "Mpin Updated"];
|
$result = ['user_verification' => true , 'message' => "Mpin Updated"];
|
||||||
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
||||||
}else{
|
}else{
|
||||||
@ -550,10 +629,11 @@ class RestAuthenticationController extends AdminController
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
return $this->callThirdPartyAPI($this->request->getJSON(), 'saveMpin');
|
return $this->callThirdPartyAPI($requestData, 'saveMpin');
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
|
$this->myLogger->logme("error", ($th->getMessage().' --- '.$th->getLine()));
|
||||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -567,6 +647,14 @@ class RestAuthenticationController extends AdminController
|
|||||||
$old_mpin = $this->request->getJSON()->old_mpin;
|
$old_mpin = $this->request->getJSON()->old_mpin;
|
||||||
$mpin = $this->request->getJSON()->new_mpin;
|
$mpin = $this->request->getJSON()->new_mpin;
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id, 'mobile_number' => $mobile_number, 'old_mpin' => $old_mpin ]);
|
||||||
|
// print_r($empdata); die;
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
$result = ['user_verification' => false , 'message' => "User not found"];
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($mobile_number)) {
|
if (isset($mobile_number)) {
|
||||||
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
|
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
|
||||||
$employeeData = $this->employeeModel
|
$employeeData = $this->employeeModel
|
||||||
@ -597,13 +685,22 @@ class RestAuthenticationController extends AdminController
|
|||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$requestData = $this->request->getJSON();
|
||||||
|
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||||
|
$requestData->client_id = $empdata['post']['client_id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($employeeData) {
|
if ($employeeData) {
|
||||||
$id= $employeeData["id"];
|
$id= $employeeData["id"];
|
||||||
$updateMpin = $this->employeeModel->where('id', $id)->set('mpin', $mpin)->update();
|
$updateMpin = $this->employeeModel->where('id', $id)->set('mpin', $mpin)->update();
|
||||||
if($updateMpin){
|
if($updateMpin){
|
||||||
$this->callThirdPartyAPI($this->request->getJSON(), 'updateMpin');
|
$this->callThirdPartyAPI($requestData, 'updateMpin');
|
||||||
$result = ['mpin_verification' => true , 'message' => "Mpin Updated"];
|
$result = ['mpin_verification' => true , 'message' => "Mpin Updated"];
|
||||||
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
||||||
}else{
|
}else{
|
||||||
@ -613,10 +710,11 @@ class RestAuthenticationController extends AdminController
|
|||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
return $this->callThirdPartyAPI($this->request->getJSON(), 'updateMpin');
|
return $this->callThirdPartyAPI($requestData, 'updateMpin');
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
|
$this->myLogger->logme("error", ($th->getMessage().' --- '.$th->getLine()));
|
||||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -629,6 +727,13 @@ class RestAuthenticationController extends AdminController
|
|||||||
$email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
|
$email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
|
||||||
$mpin = $this->request->getJSON()->mpin;
|
$mpin = $this->request->getJSON()->mpin;
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id, 'mobile_number' => $mobile_number]);
|
||||||
|
// print_r($empdata); die;
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => 'Invalid MPIN'], 200);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($mobile_number)) {
|
if (isset($mobile_number)) {
|
||||||
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
|
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
|
||||||
$employeeData = $this->employeeModel
|
$employeeData = $this->employeeModel
|
||||||
@ -657,6 +762,17 @@ class RestAuthenticationController extends AdminController
|
|||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$requestData = $this->request->getJSON();
|
||||||
|
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||||
|
$requestData->client_id = $empdata['post']['client_id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($employeeData && $mpin == $employeeData["mpin"]) {
|
if ($employeeData && $mpin == $employeeData["mpin"]) {
|
||||||
$auth = HttpRequestHelper::getRequestInfo();
|
$auth = HttpRequestHelper::getRequestInfo();
|
||||||
if ($auth) {
|
if ($auth) {
|
||||||
@ -671,22 +787,25 @@ class RestAuthenticationController extends AdminController
|
|||||||
$authdata = $this->authHistoryModel->insert($data);
|
$authdata = $this->authHistoryModel->insert($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unset($employeeData['employee_id']);
|
||||||
$result = JWTToken::encode($employeeData);
|
$result = JWTToken::encode($employeeData);
|
||||||
// Call the third-party API function
|
// Call the third-party API function
|
||||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(), 'verifyMpin');
|
$apiResponse = $this->callThirdPartyAPI($requestData, 'verifyMpin');
|
||||||
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result, 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result, 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Call the third-party API function
|
// Call the third-party API function
|
||||||
|
|
||||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(), 'verifyMpin');
|
$apiResponse = $this->callThirdPartyAPI($requestData, 'verifyMpin');
|
||||||
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "Invalid OTP", 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "Invalid OTP", 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
||||||
|
|
||||||
//$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'/getVerifiedUserData');
|
//$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'/getVerifiedUserData');
|
||||||
// return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP", 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
// return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP", 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
$this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine()));
|
||||||
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
||||||
return $this->respond(['status' => 'failed', 'code' => 200, 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
return $this->respond(['status' => 'failed', 'code' => 200, 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
||||||
}
|
}
|
||||||
@ -698,6 +817,14 @@ class RestAuthenticationController extends AdminController
|
|||||||
$mobile_number = isset($this->request->getJSON()->mobile_number) ? $this->request->getJSON()->mobile_number : null;
|
$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;
|
$email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id, 'mobile_number' => $mobile_number]);
|
||||||
|
// print_r($empdata); die;
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => "Mpin - not found", 'Mpin' =>null],200);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (isset($mobile_number))
|
if (isset($mobile_number))
|
||||||
{
|
{
|
||||||
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
|
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
|
||||||
@ -726,16 +853,29 @@ class RestAuthenticationController extends AdminController
|
|||||||
->orderBy('id', 'desc')
|
->orderBy('id', 'desc')
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$requestData = $this->request->getJSON();
|
||||||
|
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||||
|
$requestData->client_id = $empdata['post']['client_id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($employeeData && $employeeData["mpin"] != null) {
|
if ($employeeData && $employeeData["mpin"] != null) {
|
||||||
|
|
||||||
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);
|
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 {
|
} else {
|
||||||
// return $this->respond(['status' => 'failed','code' => 404,'data' => "Mpin - not found", 'Mpin' =>null],200);
|
// return $this->respond(['status' => 'failed','code' => 404,'data' => "Mpin - not found", 'Mpin' =>null],200);
|
||||||
return $this->callThirdPartyAPI($this->request->getJSON(), 'checkMpin');
|
return $this->callThirdPartyAPI($requestData, 'checkMpin');
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
$this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine()));
|
||||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500);
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -761,6 +901,13 @@ class RestAuthenticationController extends AdminController
|
|||||||
], 400);
|
], 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id, 'mobile_number' => $mobile_number]);
|
||||||
|
// print_r($empdata); die;
|
||||||
|
|
||||||
|
if(empty($empdata)){
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => "Mpin - not found", 'Mpin' =>null],200);
|
||||||
|
}
|
||||||
|
|
||||||
// Step 2: Fetch employee data
|
// Step 2: Fetch employee data
|
||||||
if ($mobile_number) {
|
if ($mobile_number) {
|
||||||
log_message('info', 'Looking up employee by mobile number: ' . $mobile_number);
|
log_message('info', 'Looking up employee by mobile number: ' . $mobile_number);
|
||||||
@ -790,6 +937,15 @@ class RestAuthenticationController extends AdminController
|
|||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$employeeData = [];
|
||||||
|
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||||
|
$employeeData = $empdata['pre'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||||
|
$json->client_id = $empdata['post']['client_id'];
|
||||||
|
}
|
||||||
|
|
||||||
// Step 3: Found employee
|
// Step 3: Found employee
|
||||||
if (!empty($employeeData)) {
|
if (!empty($employeeData)) {
|
||||||
log_message('info', 'Employee found: ID = ' . $employeeData['id']);
|
log_message('info', 'Employee found: ID = ' . $employeeData['id']);
|
||||||
@ -829,7 +985,7 @@ class RestAuthenticationController extends AdminController
|
|||||||
return $this->callThirdPartyAPI($json, 'forgotMPIN');
|
return $this->callThirdPartyAPI($json, 'forgotMPIN');
|
||||||
}
|
}
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
log_message('error', 'Exception in forgotMPIN(): ' . $e->getMessage());
|
$this->myLogger->logme("error", ($e->getMessage().' --- '.$e->getLine()));
|
||||||
return $this->respond([
|
return $this->respond([
|
||||||
'status' => 'failed',
|
'status' => 'failed',
|
||||||
'code' => 500,
|
'code' => 500,
|
||||||
|
|||||||
171
app/Helpers/RestAuthHelper.php
Normal file
171
app/Helpers/RestAuthHelper.php
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Helpers;
|
||||||
|
|
||||||
|
use App\Models\ClientModel;
|
||||||
|
use App\Models\ClientPolicyModel;
|
||||||
|
use App\Models\EmployeeModel;
|
||||||
|
use App\Models\EmployeePolicyModel;
|
||||||
|
|
||||||
|
|
||||||
|
class RestAuthHelper
|
||||||
|
{
|
||||||
|
public static function getPreAndPostDataByEmailOrMobile($params)
|
||||||
|
{
|
||||||
|
// print_r($params); die;
|
||||||
|
$mobile_number = $params['mobile_number'] ?? null;
|
||||||
|
$email_id = $params['email_id'] ?? null;
|
||||||
|
$otp = $params['otp'] ?? null;
|
||||||
|
$old_mpin = $params['$old_mpin'] ?? null;
|
||||||
|
|
||||||
|
// Return null if both inputs are empty
|
||||||
|
if (empty($mobile_number) && empty($email_id)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$params = [
|
||||||
|
'mobile_number' => $mobile_number,
|
||||||
|
'email_id' => $email_id,
|
||||||
|
'otp' => $otp,
|
||||||
|
'$old_mpin' => $old_mpin,
|
||||||
|
];
|
||||||
|
|
||||||
|
$pre_data = self::getPreEmployeeData($params);
|
||||||
|
$post_data = self::getPostEmployeeData($params);
|
||||||
|
|
||||||
|
// Return empty array if both are missing
|
||||||
|
if (empty($pre_data) && empty($post_data)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine the latest record
|
||||||
|
$latest_key = null;
|
||||||
|
if (!empty($pre_data) && !empty($post_data)) {
|
||||||
|
$latest_key = strtotime($pre_data['created_at']) > strtotime($post_data['created_at']) ? 'pre' : 'post';
|
||||||
|
} elseif (!empty($pre_data)) {
|
||||||
|
$latest_key = 'pre';
|
||||||
|
} elseif (!empty($post_data)) {
|
||||||
|
$latest_key = 'post';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compare client_short_name only if both records exist
|
||||||
|
if (!empty($pre_data) && !empty($post_data)) {
|
||||||
|
$latest_data = $latest_key === 'pre' ? $pre_data : $post_data;
|
||||||
|
$other_data = $latest_key === 'pre' ? $post_data : $pre_data;
|
||||||
|
|
||||||
|
if ($latest_data['client_short_name'] === $other_data['client_short_name']) {
|
||||||
|
return [
|
||||||
|
'pre' => $pre_data,
|
||||||
|
'post' => $post_data,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If one of the data is missing or client names mismatch
|
||||||
|
return [
|
||||||
|
'pre' => $latest_key === 'pre' ? $pre_data : [],
|
||||||
|
'post' => $latest_key === 'post' ? $post_data : [],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getPreEmployeeData(array $params)
|
||||||
|
{
|
||||||
|
$employeeModel = new EmployeeModel();
|
||||||
|
|
||||||
|
$mobile_number = $params['mobile_number'] ?? null;
|
||||||
|
$email_id = $params['email_id'] ?? null;
|
||||||
|
$otp = $params['otp'] ?? null;
|
||||||
|
$old_mpin = $params['old_mpin'] ?? null;
|
||||||
|
|
||||||
|
if (!empty($mobile_number)) {
|
||||||
|
$builder = $employeeModel
|
||||||
|
->select('employees.id as employee_id, employees.*')
|
||||||
|
->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner')
|
||||||
|
->where('employees.is_active', 1)
|
||||||
|
->where("TRIM(employees.relationship) = 'self'", null, false)
|
||||||
|
->whereIn('employees.emp_status', ['draft', 'enrolled'])
|
||||||
|
->where('employees.mobile', $mobile_number)
|
||||||
|
->where('EP.is_active', 1)
|
||||||
|
->whereIn('EP.status', ['draft', 'enrolled']);
|
||||||
|
|
||||||
|
if (!empty($old_mpin)) {
|
||||||
|
$builder->where('employees.mpin', $old_mpin);
|
||||||
|
}
|
||||||
|
|
||||||
|
$employeeData = $builder->orderBy('employees.id', 'desc')->first();
|
||||||
|
|
||||||
|
} elseif (!empty($email_id)) {
|
||||||
|
$builder = $employeeModel
|
||||||
|
->select('employees.id as employee_id, employees.*')
|
||||||
|
->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner')
|
||||||
|
->where('employees.is_active', 1)
|
||||||
|
->where("TRIM(employees.relationship) = 'self'", null, false)
|
||||||
|
->whereIn('employees.emp_status', ['draft', 'enrolled'])
|
||||||
|
->where('employees.email_corporate', $email_id)
|
||||||
|
->where('EP.is_active', 1)
|
||||||
|
->whereIn('EP.status', ['draft', 'enrolled']);
|
||||||
|
|
||||||
|
if (!empty($otp)) {
|
||||||
|
$builder->where('employees.otp', $otp);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($old_mpin)) {
|
||||||
|
$builder->where('employees.mpin', $old_mpin);
|
||||||
|
}
|
||||||
|
|
||||||
|
$employeeData = $builder->orderBy('employees.id', 'desc')->first();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($employeeData){
|
||||||
|
$clientModel = new ClientModel;
|
||||||
|
$client_data = $clientModel->where('is_active', 1)->where('id', $employeeData['client_id'])->first();
|
||||||
|
$employeeData['client_short_name'] = $client_data['short_name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $employeeData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getPostEmployeeData(array $params)
|
||||||
|
{
|
||||||
|
// print_r($params); die;
|
||||||
|
$mobile_number = $params['mobile_number'] ?? null;
|
||||||
|
$email_id = $params['email_id'] ?? null;
|
||||||
|
$otp = $params['otp'] ?? null;
|
||||||
|
$old_mpin = $params['old_mpin'] ?? null;
|
||||||
|
|
||||||
|
|
||||||
|
if (!empty($mobile_number) || !empty($email_id)) {
|
||||||
|
|
||||||
|
$client = \Config\Services::curlrequest();
|
||||||
|
$endPoint = 'getPostEmployeeDataForAuth';
|
||||||
|
$url = env('POST_ENROLLMENT_BASEURL') . $endPoint;
|
||||||
|
|
||||||
|
$postData = [];
|
||||||
|
|
||||||
|
if (!empty($mobile_number)) {
|
||||||
|
$postData['mobile_number'] = $mobile_number;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($email_id)) {
|
||||||
|
$postData['email_id'] = $email_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($otp)) {
|
||||||
|
$postData['otp'] = $otp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($old_mpin)) {
|
||||||
|
$postData['old_mpin'] = $old_mpin;
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = $client->post( $url, ['json' => $postData, 'http_errors' => false]);
|
||||||
|
$post_json = $response->getBody();
|
||||||
|
$post_data = json_decode($post_json, true);
|
||||||
|
|
||||||
|
return $post_data['data'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user