function forgotPassword(Request $request)
 {
     $response = new stdClass();
     if ($request->isMethod("POST")) {
         $postData = $request->all();
         $apiToken = "";
         if (isset($postData['api_token'])) {
             $apiToken = $postData['api_token'];
         }
         $method = "";
         if (isset($postData['method'])) {
             $method = $postData['method'];
         }
         $objUserModel = new User();
         switch ($method) {
             case "enterEmailId":
                 $fpwemail = '';
                 if (isset($postData['fpwemail'])) {
                     $fpwemail = $postData['fpwemail'];
                 }
                 if ($apiToken == $this->API_TOKEN) {
                     if ($fpwemail != '') {
                         $resetCode = mt_rand(100000, 999999);
                         $exist = $objUserModel->isMailExist($fpwemail, $resetCode);
                         if ($exist) {
                             $whereForUpdate = ['rawQuery' => 'email = ?', 'bindParams' => [$fpwemail]];
                             $mandrill = new Mandrill($this->MANDRILL_KEY);
                             $async = false;
                             $ip_pool = 'Main Pool';
                             $message = array('html' => "<div ><h3>You are requist for reset password<h3>\n                                                <p>Click below link to reset your password</p>\n                                                <a href='" . $this->HOST_URL . "/user/verifyResetCode/" . $resetCode . "'>" . env('HOST_URL') . "/user/verifyResetCode/" . $resetCode . "</a>\n                                                </div>", 'subject' => "Reset Code", 'from_email' => "*****@*****.**", 'to' => array(array('email' => $postData['fpwemail'], 'type' => 'to')), 'merge_vars' => array(array("rcpt" => $postData['fpwemail'], 'vars' => array(array("name" => "usermail", "content" => $postData['fpwemail']), array('name' => 'resetcode', 'content' => $resetCode)))));
                             $mailResponse = $mandrill->messages->send($message, $async, $ip_pool);
                             if ($mailResponse[0]['status'] == "sent") {
                                 $response->code = 200;
                                 $response->message = "Mail Sent with Reset code ";
                                 $response->data = 1;
                             } else {
                                 if ($mailResponse[0]['status'] == "rejected") {
                                     $response->code = 200;
                                     $response->message = "Mail Sending failed";
                                     $response->data = 1;
                                 }
                             }
                         } else {
                             $response->code = 400;
                             $response->message = "Email Doesn't Exist. Enter correct Email.";
                             $response->data = null;
                         }
                     } else {
                         $response->code = 400;
                         $response->message = "Email is required.";
                         $response->data = null;
                     }
                 } else {
                     $response->code = 401;
                     $response->message = "Access Denied";
                     $response->data = null;
                 }
                 echo json_encode($response, true);
                 break;
             case 'verifyResetCode':
                 $resetCode = '';
                 if (isset($postData['resetCode'])) {
                     $resetCode = $postData['resetCode'];
                 }
                 if ($apiToken == $this->API_TOKEN) {
                     if ($resetCode != '') {
                         $whereForUpdate = ['rawQuery' => 'pd_reset_token = ?', 'bindParams' => [$resetCode]];
                         $exists = $objUserModel->verifyResetCode($whereForUpdate);
                         if ($exists) {
                             $response->code = 200;
                             $response->message = "Reset Code Verified Successfully.";
                             $response->data = $exists;
                         } else {
                             $response->code = 400;
                             $response->message = "Reset Code Didn't Matched.";
                             $response->data = null;
                         }
                     } else {
                         $response->code = 400;
                         $response->message = "You missed something";
                         $response->data = null;
                     }
                 } else {
                     $response->code = 401;
                     $response->message = "Access Denied";
                     $response->data = null;
                 }
                 echo json_encode($response, true);
                 break;
             case 'resetPassword':
                 $resetCode = '';
                 if (isset($postData['resetCode'])) {
                     $resetCode = $postData['resetCode'];
                 }
                 $password = '';
                 if (isset($postData['newPassword'])) {
                     $password = $postData['newPassword'];
                 }
                 $conformPassword = '';
                 if (isset($postData['conformNewPassword'])) {
                     $conformPassword = $postData['conformNewPassword'];
                 }
                 $rules = array('resetCode' => 'required', 'newPassword' => 'required', 'conformNewPassword' => 'required|same:newPassword');
                 $validator = Validator::make($request->all(), $rules);
                 if (!$validator->fails()) {
                     if ($apiToken == $this->API_TOKEN) {
                         if ($password == $conformPassword) {
                             $exists = $objUserModel->resetPassword($resetCode, Hash::make($password));
                             if ($exists) {
                                 $response->code = 200;
                                 $response->message = "Password Changed Successfully.";
                                 $response->data = $exists;
                             } else {
                                 $response->code = 400;
                                 $response->message = "Something went Wrong. Provide Correct Input.";
                                 $response->data = null;
                             }
                         } else {
                             $response->code = 400;
                             $response->message = "Password Didn't match";
                             $response->data = null;
                         }
                     } else {
                         $response->code = 401;
                         $response->message = "Access Denied";
                         $response->data = null;
                     }
                 } else {
                     $response->code = 400;
                     $response->message = $validator->messages();
                     $response->data = $request->all();
                 }
                 echo json_encode($response, true);
                 break;
             default:
                 break;
         }
     } else {
         $response->code = 400;
         $response->message = "Request Not allowed";
         $response->data = null;
         echo json_encode($response);
     }
 }