feat: add request verify
This commit is contained in:
@@ -453,7 +453,59 @@ public function checkOTP(Request $request)
|
||||
'token' => $token,
|
||||
]);
|
||||
}
|
||||
public function requestMobileVerification(Request $request)
|
||||
{
|
||||
$data = $request->validate([
|
||||
'mobile' => ['required', 'string', new MobileNumber],
|
||||
]);
|
||||
|
||||
$mobile = MobileNumberHelper::formatMobile($data['mobile']);
|
||||
|
||||
if (User::where('mobile', $mobile)->where('id', '!=', auth()->id())->exists()) {
|
||||
return response()->json(['message' => 'mobile already taken'], 400);
|
||||
}
|
||||
|
||||
$otp = rand(10000, 99999);
|
||||
|
||||
auth()->user()->otpTokens()->create([
|
||||
'token' => $otp
|
||||
]);
|
||||
|
||||
SendOTPJob::dispatch($mobile, (string)$otp);
|
||||
|
||||
return response()->json(['message' => 'otp sent']);
|
||||
}
|
||||
|
||||
public function confirmMobileVerification(Request $request)
|
||||
{
|
||||
$data = $request->validate([
|
||||
'mobile' => ['required', 'string', new MobileNumber],
|
||||
'token' => 'required|string'
|
||||
]);
|
||||
|
||||
$mobile = MobileNumberHelper::formatMobile($data['mobile']);
|
||||
$user = auth()->user();
|
||||
|
||||
$otp = $user->otpTokens()
|
||||
->where('token', $data['token'])
|
||||
->where('created_at', '>', now()->subMinutes(15))
|
||||
->first();
|
||||
|
||||
if (!$otp) {
|
||||
return response()->json(['message' => 'invalid token'], 400);
|
||||
}
|
||||
|
||||
$otp->delete();
|
||||
|
||||
$user->update([
|
||||
'mobile' => $mobile,
|
||||
'mobile_verified_at' => now(),
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'message' => 'mobile verified successfully'
|
||||
]);
|
||||
}
|
||||
public function updateProfile(Request $request)
|
||||
{
|
||||
$data = $request->validate([
|
||||
|
||||
Reference in New Issue
Block a user