Add forgot password api
This commit is contained in:
@@ -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"
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -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']);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user