Files
freeu-project/app/Http/Controllers/AuthController.php

963 lines
33 KiB
PHP
Raw Normal View History

2024-03-28 14:52:40 +05:30
<?php
namespace App\Http\Controllers;
use Mail;
use App\Mail\OtpMail;
use App\Mail\RegisteredMail;
use Illuminate\Http\Request;
use App\Models\UserOtp;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
use App\Models\User;
use App\Models\user_profile;
use App\Notifications\UserAdmin;
use Laravel\Sanctum\PersonalAccessToken;
use App\Services\AuthService;
use Carbon\Carbon;
use App\Http\Requests\StoreAssetManagerRegistrationRequest;
class AuthController extends Controller
{
//validate fields
protected $authService;
protected $data;
public function __construct(AuthService $authService)
{
$this->authService = $authService;
}
public function registernumber(Request $request)
{
$this->data = $this->authService->registernumber($request);
return $this->data;
}
public function register(Request $request)
{
try {
$this->data = $this->authService->userRegistration($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function user_pin(Request $request)
{
try {
$this->data = $this->authService->user_pin($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function postFingerPrintStatus(Request $request)
{
try {
$this->data = $this->authService->postFingerPrintStatus($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function getFingerPrintStatus(Request $request)
{
try {
$this->data = $this->authService->getFingerPrintStatus($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 201);
}
}
public function resetPassword(Request $request)
{
try {
$this->data = $this->authService->resetPassword($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 201);
}
}
public function mobileExists(Request $request)
{
try {
$this->data = $this->authService->mobileExists($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 201);
}
}
// get user details
public function user()
{
try {
$this->data = $this->authService->user();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
// logout user
public function logout(Request $request)
{
try {
$this->data = $this->authService->logout($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function sendsms(Request $request)
{
try {
$this->data = $this->authService->sendsms($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function isverified()
{
try {
$this->data = $this->authService->isverified();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function isotpverified()
{
try {
$this->data = $this->authService->isotpverified();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function isecurityquestion()
{
try {
$this->data = $this->authService->isecurityquestion();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function verifyotp(Request $request)
{
try {
$this->data = $this->authService->verifyotp($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function verifyotpWithoutToken(Request $request)
{
try {
$this->data = $this->authService->verifyotpWithoutToken($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function securityQuestions()
{
try {
$this->data = $this->authService->getSecurityQuestions();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function security_answers(Request $request)
{
try {
$this->data = $this->authService->security_answers($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function check_pin_exist(Request $request)
{
try {
$this->data = $this->authService->check_pin_exist($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function pin_match(Request $request)
{
try {
$this->data = $this->authService->pin_match($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function UserForgotPasswordPin(Request $request)
{
try {
$this->data = $this->authService->userforgotpasswordpin($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function resetPin(Request $request)
{
try {
$this->data = $this->authService->resetPin($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function login(Request $request)
{
try {
$this->data = $this->authService->login($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function createorder(Request $request)
{
try {
$this->data = $this->authService->createorder($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function storeKycDetails(Request $request)
{
try {
$this->data = $this->authService->storeKycDetails($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function storeBasicKycUserDetails(Request $request)
{
try {
$this->data = $this->authService->storeBasicKycUserDetails($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function fetchKYCstatus(Request $request)
{
try {
$this->data = $this->authService->fetchKYCstatus($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function storeFamilyDetails(Request $request)
{
try {
$this->data = $this->authService->storeFamilyDetails($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function getFamilyDetails(Request $request)
{
try {
$this->data = $this->authService->getFamilyDetails($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function storePersonalProfileDetails(Request $request)
{
try {
$this->data = $this->authService->storePersonalProfileDetails($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function storeBankDetails(Request $request)
{
try {
$this->data = $this->authService->storeBankDetails($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function storeGoals(Request $request)
{
try {
$this->data = $this->authService->storeGoals($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function getBasicKycUserDetails()
{
try {
$this->data = $this->authService->getBasicKycUserDetails();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function password_reset(Request $request)
{
try {
$this->data = $this->authService->password_reset($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function getPersonalProfileDetails()
{
try {
$this->data = $this->authService->getPersonalProfileDetails();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function getBankDetails()
{
try {
$this->data = $this->authService->getBankDetails();
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function payment_verification(Request $request)
{
try {
$this->data = $this->authService->payment_verification($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function createPlans(Request $request)
{
try {
$this->data = $this->authService->createPlans($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function storeSubscriptionPlan(Request $request)
{
try {
$this->data = $this->authService->storeSubscriptionPlan($request);
return $this->data;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()], 500);
}
}
public function signUp(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => [
'required',
'regex:/^[a-zA-Z\s]+$/',
],
'email' => [
'required',
'unique:users',
'regex:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/',
],
'password' => [
'required',
'min:8',
'regex:/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\x])(?=.*[!$#%@]).*$/',
'confirmed',
],
'contact_number' => [
'required',
'unique:users',
'min:10',
'max:12',
'regex:/^(\+\d{1,3}[- ]?)?\d{10,12}$/',
],
'g-recaptcha-response' => 'sometimes|required'
], [
'contact_number.min' => 'Contact Number should be minimum 10 numbers',
'contact_number.max' => 'Contact Number should be maximum 12 numbers',
'contact_number.regex' => "Mobile number should be number not alphabets",
'password.regex' => 'Password does not follow regex',
'password.min' => 'Password should be minimum 8 characters',
'password.confirmed' => 'Password Confirmation Does Not Match Password',
'unique' => 'The :attribute field should be unique.',
'required' => 'The :attribute field is required.',
'name.regex' => 'The :attribute field contain only alphabets',
]);
$validationMessage = $this->validationError($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
}
// dd($request->all());
if (!$request->has('g-recaptcha-response')) {
$userCreated = User::create([
'name' => $request->name,
'email' => $request->email,
'contact_number' => $request->contact_number,
'password' => bcrypt($request->password),
'user_type' => 'Investor',
]);
if (!$userCreated) {
return response()->json(['status' => 400, 'message' => 'Error creating user!'])->setStatusCode(400);
}else{
$user = User::where('email',$request->email)->first();
$userToken = $user->createToken('apiToken')->plainTextToken;
return response()->json(['status' => 200, 'message' => 'User Created','token' => $userToken,'data' => $user]);
}
} else {
Session::forget('user-registration');
$otp = $this->otpGenerate($request->email);
$userRegistration = [
'name' => $request->name,
'user_type' => 'Investor',
'authorized_representative_name' => $request->authorized_representative_name ?? null,
'email' => $request->email,
'password' => bcrypt($request->password),
'contact_number' => $request->contact_number,
'otp' => $otp
];
$userCreated = Session::put('user-registration', $userRegistration);
$mailData = [
'title' => 'Mail from ItSolutionStuff.com',
'body' => 'This is for testing email using smtp.'
];
Mail::to($request->email)->send(new OtpMail($mailData, $otp));
}
// $name = $request->name;
// $email = $request->email;
// $password = $request->password;
// $number = $request->contact_number;
// $userCreated = User::create([
// 'name' => $name,
// 'email' => $email,
// 'contact_number' => $number,
// 'password' => bcrypt($password),
// ]);
// if (!$userCreated) {
// return response()->json(['status' => 400, 'message' => 'Error creating user!'], 400);
// }
// $token = $userCreated->createToken('apiToken')->plainTextToken;
return response()->json(['status' => 200, 'message' => 'User Created']);
}
public function signUp2(StoreAssetManagerRegistrationRequest $request)
{
$validated = $request->validated();
if (!$request->has('g-recaptcha-response')) {
$userCreated = User::create([
'name' => $validated['name2'],
'user_type' => 'Asset Manager',
'authorized_representative_name' => $validated['authorized_representative_name'],
'email' => $validated['email2'],
'contact_number' => $validated['contact_number2'],
'password' => bcrypt($validated['password2']),
]);
if (!$userCreated) {
return response()->json(['status' => 400, 'message' => 'Error creating user!'])->setStatusCode(400);
}else{
$user = User::where('email',$request->email2)->first();
$userToken = $user->createToken('apiToken')->plainTextToken;
return response()->json(['status' => 200, 'message' => 'User Created','token' => $userToken,'data' => $user]);
}
} else {
Session::forget('user-registration');
$otp = $this->otpGenerate($request->email);
$userRegistration = [
'name' => $validated['name2'],
'user_type' => 'Asset Manager',
'authorized_representative_name' => $validated['authorized_representative_name'],
'email' => $validated['email2'],
'contact_number' => $validated['contact_number2'],
'password' => bcrypt($validated['password2']),
'otp' => $otp
];
$userCreated = Session::put('user-registration', $userRegistration);
$mailData = [
'title' => 'Mail from ItSolutionStuff.com',
'body' => 'This is for testing email using smtp.'
];
Mail::to($validated['email2'])->send(new OtpMail($mailData, $otp));
// Mail::to('yadavritikesh29@gmail.com')->send(new OtpMail($mailData, $otp));
}
// $name = $request->name;
// $email = $request->email;
// $password = $request->password;
// $number = $request->contact_number;
// $userCreated = User::create([
// 'name' => $name,
// 'email' => $email,
// 'contact_number' => $number,
// 'password' => bcrypt($password),
// ]);
// if (!$userCreated) {
// return response()->json(['status' => 400, 'message' => 'Error creating user!'], 400);
// }
// $token = $userCreated->createToken('apiToken')->plainTextToken;
return response()->json(['status' => 200, 'message' => 'User Created']);
}
public function getUser(Request $request)
{
try {
// $hashedTooken = $request->bearerToken();
// $token = PersonalAccessToken::findToken($hashedTooken);
// if (!$hashedTooken) {
// return response()->json(['status' => 200, 'message' => 'No User Found!'], 200);
// }
// $user = User::find(auth()->user()->id);
$user = $request->user();
// if (!$user) {
// return response()->json(['status' => 400, 'message' => 'Error finding user!']);
// }
return response()->json(['status' => 200, 'user' => $user], 200);
} catch (\Exception $ex) {
return response()->json(['status' => 500, 'exception' => $ex, 500]);
}
// return response()->json(['status'=>200,'user'=>$token->tokenab le]);
}
public function userLogin(Request $request)
{
$validator = Validator::make($request->all(), [
'user' => 'required',
'password' => [
'required',
// 'min:8',
// 'regex:/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\x])(?=.*[!$#%@]).*$/'
],
]);
// if ($validator->fails()) {
// $errors = $validator->errors();
// return response()->json([
// 'error' => $errors
// ], 400);
// }
$validationMessage = $this->validationError($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
}
$credentials = $request->user;
$password = $request->password;
$user = User::where('email', $credentials)->orWhere('contact_number', $credentials)->first();
if (!$user) {
return response()->json(['status' => 500, 'message' => 'No User Found'], 500);
}
if (!\Hash::check($password, $user->password)) {
return response()->json(['status' => 400, 'message' => 'Invalid Credentials!'], 400);
};
// $hashedTooken = $request->bearerToken();
$userToken = $user->createToken('apiToken')->plainTextToken;
$token = PersonalAccessToken::findToken($userToken);
if (!$token) {
return response()->json(['status' => 500, 'message' => 'Inaccurate Token'], 500);
}
return response()->json(['status' => 200, 'message' => 'User Found', 'token' => $userToken, 'data' => $token->tokenable], 200);
}
public function sendOTP(Request $request)
{
$validator = Validator::make($request->post(), [
'contact_number' => 'required|exists:users,contact_number|min:10|max:10',
], [
'required' => 'The :attribute field is required',
'exists' => 'Contact Number has not been registered.',
'min' => 'The :attribute field must be 10 digits',
'max' => 'The :attribute field must be 10 digits',
]);
$validationMessage = $this->validationError($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
}
$contactNumber = $request->contact_number;
$otp = rand(1000, 9999);
session()->put('contact_number', $contactNumber);
$sendOTP = $this->thirdPartyOTP($contactNumber, $otp);
// $insertOtp = UserOtp::create([
// 'contact_number' => $contactNumber,
// 'expire_at' => Carbon::now()->addMinutes('5'),
// 'otp' => $otp
// ]);
$insertOtp = User::where('contact_number', $contactNumber)->update([
'expire_at' => Carbon::now()->addMinutes('5'),
'otp' => $otp
]);
if (!$insertOtp) {
return response()->json(['status' => 500, 'otp' => $otp, 'message' => 'Error inserting OTP'], 500);
}
return response()->json(['status' => 200, 'otp' => $otp, 'message' => 'OTP has been sent successfully!']);
}
public function enteredOtp(Request $request)
{
// dd(Session::get('user-registration'));
$validator = Validator::make($request->post(), [
'otp' => 'required|min:4|max:4',
// 'contact_number' => 'required|exists:users,contact_number|min:10|max:10'
], [
'required' => 'The :attribute field is required',
'exists' => 'Contact Number has not been registered.',
'min' => 'The :attribute field must be 10 digits',
'max' => 'The :attribute field must be 10 digits',
]);
$validationMessage = $this->validationError($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
}
$otp = (int)$request->otp;
if (Session::has('user-registration')) {
$userDetails = Session::get('user-registration');
if ($userDetails['otp'] !== $otp) {
return response()->json(['status' => 400, 'message' => 'OTP Did Not Matched!']);
}
$userCreated = User::create([
'name' => $userDetails['name'],
'authorized_representative_name' => $userDetails['authorized_representative_name'] ?? null,
'user_type' => $userDetails['user_type'],
'email' => $userDetails['email'],
'contact_number' => $userDetails['contact_number'],
'password' => $userDetails['password'],
]);
Mail::to($userDetails['email'])->send(new RegisteredMail());
Session::forget('user-registration');
//sending notifications
$name = $userDetails['name'];
$notify['message'] = "$name has registered to Jericho Alternatives Website and App!";
$type = "New Users";
$users = User::admins()->get();
foreach ($users as $data) {
$data->notify(new UserAdmin($notify, $type));
}
Auth::guard('users')->login($userCreated);
return response()->json(['status' => 200, 'message' => 'OTP has been matched and User has been created!'], 200);
}
$checkOTP = User::where(['contact_number' => $request->contact_number, 'otp' => $request->otp])->first();
if ($checkOTP) {
if (!$checkOTP) {
return response()->json(['status' => 400, 'message' => 'OTP Did Not Matched!'], 400);
}
if (now() > $checkOTP->expire_at) {
return response()->json(['status' => 400, 'message' => 'OTP has been expired!'], 400);
}
$userToken = $checkOTP->createToken('apiToken')->plainTextToken;
$token = PersonalAccessToken::findToken($userToken);
return response()->json(['status' => 200, 'token' => $userToken, 'data' => $token->tokenable, 'message' => 'OTP has been matched!'], 200);
} else {
return response()->json(['status' => 400, 'message' => 'Record Does Not Exist!'], 400);
}
$contactNumber = session('contact_number');
if (!$contactNumber) {
return response()->json(['status' => 201, 'message' => 'Contact number not found!'], 201);
}
$otp = $request->otp;
$checkNumberWithOtp = UserOtp::where(['contact_number' => $contactNumber, 'otp' => $otp])->first();
if (!$checkNumberWithOtp) {
return response()->json(['status' => 400, 'message' => 'OTP Did Not Matched!'], 400);
}
if (now() > $checkNumberWithOtp->expire_at) {
return response()->json(['status' => 400, 'message' => 'OTP has been expired!'], 400);
}
$contactNumberSession = Session::get('contact_number');
$user = User::where('contact_number', $contactNumberSession)->first();
$userToken = $user->createToken('apiToken')->plainTextToken;
$token = PersonalAccessToken::findToken($userToken);
return response()->json(['status' => 200, 'token' => $userToken, 'data' => $token->tokenable, 'message' => 'OTP has been matched!'], 200);
}
public function loginByMobile(Request $request)
{
// validating data
$validator = Validator::make($request->all(), [
'contact_number' => 'required|exists:users,contact_number',
]);
// validation fail handling
if ($validator->fails()) {
return response()->json(['error' => 'Mobile number is not registered', 'status' => 204]);
}
$user = User::where('contact_number', $request->contact_number)->first();
try {
if ($user) {
$user->otp = rand(1234, 9999);
$user->expire_at = Carbon::now('Asia/colombo')->addMinutes(2);
$user->update();
return response()->json(['message' => 'OTP has been sent to your mail and phone', 'user_id' => $user->id, 'otp' => $user->otp, 'status' => 200]);
}
} catch (\Exception $e) {
return response()->json(['error' => 'Netwrok Error! Please try again after sometime.', 'status' => 500]);
}
}
public function userLogout(Request $request)
{
try {
$userLoggedOut = $request->user()->currentAccessToken()->delete();
return response()->json(['status' => 200, 'message' => 'User Logged Out!!'], 200);
} catch (\Exception $ex) {
return response()->json(['status' => 500, 'message' => $ex]);
}
}
public function validationError($validator)
{
if ($validator->fails()) {
$errors = $validator->errors();
$messages = "";
foreach ($errors->all() as $message) {
$messages .= $message;
}
return $messages;
}
}
public function otpGenerate($email)
{
$otp = rand(1000, 9999);
return $otp;
}
public function forgotPasswordStepOne(Request $request)
{
$validator = Validator::make($request->all(), [
'contact_number' => 'required|exists:users,contact_number',
], [
'contact_number.exists' => 'Please Enter Registered Number',
]);
$validationMessage = $this->validationError($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
}
$otp = rand(1000, 9999);
$sendOTP = $this->thirdPartyOTP($request->contact_number, $otp);
$insertOtp = User::where('contact_number', $request->contact_number)->update([
'expire_at' => Carbon::now()->addMinutes('5'),
'otp' => $otp
]);
if ($insertOtp) {
return response()->json(['message' => 'OTP Sent Succesfully', 'otp' => $otp,'status' => 200]);
}
return response()->json(['message' => 'Error Sending OTP', 'status' => 400]);
}
public function forgotPasswordStepTwo(Request $request)
{
$validator = Validator::make($request->all(), [
'contact_number' => 'required|exists:users,contact_number',
'otp' => 'required',
]);
$validationMessage = $this->validationError($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
}
$checkOTP = User::where(['contact_number' => $request->contact_number, 'otp' => $request->otp])->first();
if ($checkOTP) {
if (!$checkOTP) {
return response()->json(['status' => 400, 'message' => 'OTP Did Not Matched!'], 400);
}
if (now() > $checkOTP->expire_at) {
return response()->json(['status' => 400, 'message' => 'OTP has been expired!'], 400);
}
return response()->json(['status' => 200, 'message' => 'OTP has been matched!'], 200);
}
return response()->json(['message' => 'OTP Not Matched', 'status' => 400],400);
}
public function forgotPasswordStepThree(Request $request)
{
$validator = Validator::make($request->all(), [
'contact_number' => 'required|exists:users,contact_number',
'password' => [
'required',
'min:8',
'regex:/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\x])(?=.*[!$#%@&]).*$/',
'confirmed',
],
], [
'password.regex' => 'Password does not follow regex',
'password.min' => 'Password should be minimum 8 characters',
'password.confirmed' => 'Password Confirmation Does Not Match Password',
]);
$validationMessage = $this->validationError($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
}
$user = User::where(['contact_number' => $request->contact_number])->first();
if (Hash::check($request->password, $user->password)){
return response()->json(['message' => 'New Password Cannot be Same as Old Password!', 'status' => 400],400);
}
$changePassword = User::where(['contact_number' => $request->contact_number])->update([
'password' => bcrypt($request->password)
]);
if ($changePassword) {
return response()->json(['message' => 'Password Changed Succesfully!', 'status' => 200]);
}
return response()->json(['message' => 'Error Changing Password', 'status' => 400]);
}
public function thirdPartyOTP($number, $otp)
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://restapi.smscountry.com/v0.1/Accounts/4F7T5SbGyV7HBrEHxmX4/SMSes/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"Text": "Dear Investor, Your login OTP is ' . $otp . '. - Blue Feather Ventures Pvt Ltd.",
"Number": "91' . $number . '",
"SenderId": "BLUFVL",
"DRNotifyUrl": "https://www.domainname.com/notifyurl",
"DRNotifyHttpMethod": "POST",
"Tool": "API"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Basic NEY3VDVTYkd5VjdIQnJFSHhtWDQ6emFXdFEyTlV3ZlZROHB6dGRvVlRZUFdibG01Y1AxRldsbWl2WlVrbg=='
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
// return true;
}
}