diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 6869b10..79c9a6b 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -48,6 +48,8 @@ $routes->post('forgotPassword/changePassword', 'UserController::forgotChangePass //api's with token $routes->group('api', ['filter' => ["jwtAuth","appSignature"] ], function ($routes) { + $routes->get('user/refreshUserToken', 'AuthController::refreshUserToken'); + //Organization $routes->get('organizations', 'OrganizationController::index'); diff --git a/app/Controllers/AuthController.php b/app/Controllers/AuthController.php index d77ba70..915b0c3 100644 --- a/app/Controllers/AuthController.php +++ b/app/Controllers/AuthController.php @@ -324,5 +324,48 @@ class AuthController extends ResourceController } + //re-Fetch token + + public function refreshUserToken() + { + + + $user_id = $this->request->getGet(); + $user = $this->userModel->where('user_id', $user_id)->where('is_active',1)->first(); + // print_r($user);die; + if (!$user) { + return $this->failUnauthorized('Invalid User'); + } + + + //get service for the organization + $orgService = $this->organizationModel->find($user['org_id']); + $user['service'] = json_decode($orgService['services_ids'],true); + foreach ($user['service'] as $key => $value) + { + $serviceData = $this->serviceModel->find($value['service_id']); + $user['service'][$key]['name'] = $serviceData['name']; + $user['service'][$key]['icon'] = $serviceData['icon']; + $user['service'][$key]['order'] = $serviceData['order']; + } + + //get role + $user['role'] = $this->userModel->getRole($user['role_id']); + + //find user has the all access + $user['plan_action'] = getUserPlanCreationRestrictionStatus($user); + + // Generate JWT Token + $token = generateJWT($user); + + + return $this->respond([ + 'status' => 200, + 'message' => 'Login successful', + 'token' => $token + ]); + } + + }