public function changePassword(request $request)
 {
     $input = $request->only('new', 'token');
     $validator = Validator::make($input, ['token' => 'required', 'new' => 'required']);
     if ($validator->fails()) {
         return response()->json(['response_code' => 'ERR_RULES', 'message' => $validator->errors()->all()], 400);
     }
     $check = PasswordOtpReset::where('token', $input['token'])->first();
     if (empty($check) || $check == '' || !$check->is_verified) {
         return response()->json(['response_code' => 'RES_ITK', 'messages' => 'Invalid Token Key'], 422);
     }
     $user = User::where('id', $check->user_id)->first();
     $user->password = bcrypt($input['new']);
     $user->save();
     $check->delete();
     return response()->json(['response_code' => 'RES_PC', 'message' => 'Password Changed']);
 }
 public function postCustomerLogin(request $request)
 {
     $input = $request->only('otp', 'token');
     $validator = Validator::make($input, ['token' => 'required', 'otp' => 'required']);
     if ($validator->fails()) {
         return response()->json(['response_code' => 'ERR_RULES', 'message' => $validator->errors()->all()], 400);
     }
     $matchThese = ['token' => $input['token'], 'code' => $input['otp']];
     $check = PasswordOtpReset::where($matchThese)->first();
     if (empty($check) || $check == '') {
         return response()->json(['response_code' => 'RES_IO', 'messages' => 'Invalid Otp'], 422);
     }
     $check->is_verified = true;
     $check->save();
     $user = User::find($check->user_id);
     return $this->login($user, 'customer');
 }