fix request otp

This commit is contained in:
Muhammad Fajar
2022-11-10 13:54:34 +07:00
parent 92bce41edc
commit 174f065191

View File

@@ -15,12 +15,25 @@ class AuthController extends Controller
public function requestOtp(Request $request) public function requestOtp(Request $request)
{ {
$request->validate([ $request->validate([
// 'phone' => 'required'
'phone_or_email' => 'required' 'phone_or_email' => 'required'
]); ]);
$user = User::query()
->when(filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL), function (Builder $query) use ($request) {
$query->getQuery()->where('email', $request->phone_or_email);
}, function (Builder $query) use ($request) {
$query->getQuery()->where('phone', $request->phone_or_email);
})
->first();
if (!$user) {
$message = filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL) ? "User dengan alamat email " . $request->phone_or_email . " tidak ditemukan" : "User dengan nomor telepon " . $request->phone_or_email . " tidak ditemukan";
return Helper::responseJson(statusCode: Response::HTTP_NOT_FOUND, message: $message);
}
if (filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL)) { if (filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL)) {
$user = User::updateOrCreate([ $user = User::query()->update([
'email' => $request->phone_or_email 'email' => $request->phone_or_email
], [ ], [
'email' => $request->phone_or_email, 'email' => $request->phone_or_email,
@@ -28,7 +41,7 @@ class AuthController extends Controller
'otp_created_at' => now() 'otp_created_at' => now()
]); ]);
} else { } else {
$user = User::updateOrCreate([ $user = User::query()->update([
'phone' => $request->phone_or_email 'phone' => $request->phone_or_email
], [ ], [
'phone' => $request->phone_or_email, 'phone' => $request->phone_or_email,
@@ -37,12 +50,6 @@ class AuthController extends Controller
]); ]);
} }
if (!$user) {
$message = filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL) ? "User dengan alamat email " . $request->phone_or_email . " tidak ditemukan" : "User dengan nomor telepon " . $request->phone_or_email . " tidak ditemukan";
return Helper::responseJson(statusCode: Response::HTTP_NOT_FOUND, message: $message);
}
// TODO Send the OTP // TODO Send the OTP
if (filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL)) { if (filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL)) {
// Send Email // Send Email