Add forgot password api

This commit is contained in:
Amir
2023-02-21 08:54:47 +08:00
parent fe08284db5
commit d222bd2c59
2 changed files with 36 additions and 0 deletions
@@ -11,6 +11,9 @@ use App\Models\Staff;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Mail;
use App\Mail\ResetPassword;
class AuthController extends Controller
{
@@ -161,4 +164,36 @@ class AuthController extends Controller
];
}
public function forgotPassword(Request $request)
{
$user = User::where('email', $request->email)->first();
if (!$user) {
return response()->json([
'success' => false,
'status' => 0,
'message' => "Emel tidak dijumpai. Sila daftar sekarang."
]);
}
$token = Str::random(60);
$user['token'] = $token;
$user['is_verified'] = 0;
$user->save();
Mail::to($request->email)->send(new ResetPassword($user->name, $token));
if (Mail::failures() != 0) {
return response()->json([
'success' => true,
'message' => "Berjaya DiHantar! Pautan Lupa Katalaluan Telah Dihantarkan Kepada Alamat Emel Anda."
]);
}
return response()->json([
'success' => false,
'status' => 500,
'message' => "Failed! there is some issue with email provider"
]);
}
}
+1
View File
@@ -24,6 +24,7 @@ use App\Http\Controllers\ApiController;
//Public routes
Route::post('/register', [AuthController::class, 'register']);
Route::post('/user/login', [AuthController::class, 'loginUser']);
Route::post('/forgotPassword', [AuthController::class, 'forgotPassword']);
Route::post('/password/email', [ForgotPasswordController::class, 'sendResetLinkEmail']);