You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
51 lines
1.4 KiB
51 lines
1.4 KiB
<?php |
|
|
|
namespace App\Http\Controllers\Auth; |
|
|
|
use App\Http\Controllers\Controller; |
|
use Illuminate\Http\RedirectResponse; |
|
use Illuminate\Http\Request; |
|
use Illuminate\Support\Facades\Password; |
|
use Illuminate\Validation\ValidationException; |
|
use Inertia\Inertia; |
|
use Inertia\Response; |
|
|
|
class PasswordResetLinkController extends Controller |
|
{ |
|
/** |
|
* Display the password reset link request view. |
|
*/ |
|
public function create(): Response |
|
{ |
|
return Inertia::render('Auth/ForgotPassword', [ |
|
'status' => session('status'), |
|
]); |
|
} |
|
|
|
/** |
|
* Handle an incoming password reset link request. |
|
* |
|
* @throws \Illuminate\Validation\ValidationException |
|
*/ |
|
public function store(Request $request): RedirectResponse |
|
{ |
|
$request->validate([ |
|
'email' => 'required|email', |
|
]); |
|
|
|
// We will send the password reset link to this user. Once we have attempted |
|
// to send the link, we will examine the response then see the message we |
|
// need to show to the user. Finally, we'll send out a proper response. |
|
$status = Password::sendResetLink( |
|
$request->only('email') |
|
); |
|
|
|
if ($status == Password::RESET_LINK_SENT) { |
|
return back()->with('status', __($status)); |
|
} |
|
|
|
throw ValidationException::withMessages([ |
|
'email' => [trans($status)], |
|
]); |
|
} |
|
}
|
|
|