From 174f06519180afede3a48735137eb065f4dccac5 Mon Sep 17 00:00:00 2001 From: Muhammad Fajar Date: Thu, 10 Nov 2022 13:54:34 +0700 Subject: [PATCH] fix request otp --- .../Http/Controllers/Api/AuthController.php | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/Modules/Client/Http/Controllers/Api/AuthController.php b/Modules/Client/Http/Controllers/Api/AuthController.php index 8a5aa11c..9761eafa 100755 --- a/Modules/Client/Http/Controllers/Api/AuthController.php +++ b/Modules/Client/Http/Controllers/Api/AuthController.php @@ -15,12 +15,25 @@ class AuthController extends Controller public function requestOtp(Request $request) { $request->validate([ - // 'phone' => '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)) { - $user = User::updateOrCreate([ + $user = User::query()->update([ 'email' => $request->phone_or_email ], [ 'email' => $request->phone_or_email, @@ -28,7 +41,7 @@ class AuthController extends Controller 'otp_created_at' => now() ]); } else { - $user = User::updateOrCreate([ + $user = User::query()->update([ '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 if (filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL)) { // Send Email