From 0ea1c2dea47de66a6f565c530468cf002a19ff71 Mon Sep 17 00:00:00 2001 From: R Date: Sat, 17 Sep 2022 01:03:23 +0700 Subject: [PATCH] Add Mock OTP --- .../Http/Controllers/Api/AuthController.php | 26 +++++++++++++++++++ Modules/Linksehat/Routes/api.php | 1 + app/Models/User.php | 1 + 3 files changed, 28 insertions(+) diff --git a/Modules/Linksehat/Http/Controllers/Api/AuthController.php b/Modules/Linksehat/Http/Controllers/Api/AuthController.php index 5f33c481..be79bb79 100644 --- a/Modules/Linksehat/Http/Controllers/Api/AuthController.php +++ b/Modules/Linksehat/Http/Controllers/Api/AuthController.php @@ -152,4 +152,30 @@ class AuthController extends Controller return response(['message' => 'Berhasil Logout.']); } + + public function mockOtp(Request $request) + { + $request->validate([ + 'phone_or_email' => 'required' + ]); + + $user = User::where((filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL) ? 'email' : 'phone'), $request->phone_or_email)->first(); + + if ($user) { + return response()->json([ + 'message' => 'OTP Anda', + 'data' => [ + 'otp' => $user->otp, + 'otp_valid_until' => $user->otp_created_at ? $user->otp_created_at->addMinutes(config('linksehat.otp_valid_minutes')) : null + ] + ]); + } + + if ($user) { + return response()->json([ + 'message' => 'User Tidak Ditemukan' + ], 404); + } + + } } diff --git a/Modules/Linksehat/Routes/api.php b/Modules/Linksehat/Routes/api.php index 80dda47f..fd1e9763 100644 --- a/Modules/Linksehat/Routes/api.php +++ b/Modules/Linksehat/Routes/api.php @@ -17,6 +17,7 @@ use Modules\Linksehat\Http\Controllers\Api\HospitalController; */ Route::post('otp-request', [AuthController::class, 'otpRequest']); +Route::post('mock-otp', [AuthController::class, 'mockOtp']); Route::post('login', [AuthController::class, 'login']); Route::post('register', [AuthController::class, 'register']); diff --git a/app/Models/User.php b/app/Models/User.php index e9aa9bb4..e9041132 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -43,6 +43,7 @@ class User extends Authenticatable */ protected $casts = [ 'email_verified_at' => 'datetime', + 'otp_created_at' => 'datetime' ]; public function managedCorporates()