File: /var/www/html/app/Livewire/Auth/ForgetPassword.php
<?php
namespace App\Livewire\Auth;
use Livewire\Component;
use App\Services\ApiEndpoints;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Session;
class ForgetPassword extends Component
{
public $email;
protected $rules = [
"email" => "required|valid_email_domain|exists:users,email",
];
public function forgetPassword()
{
try {
$response = Http::post(ApiEndpoints::forgetPassword(), [
'email' => $this->email,
]);
if ($response->successful()) {
$info = $response->json(['message']);
Session::flash('success', $info);
session(['user_email' => $this->email]);
return redirect()->to('/set-new-password');
} else {
$info = $response->json(['message']);
$this->addError('email', $info);
Session::flash('error', $info);
}
} catch (\Throwable $th) {
$info = $th->getMessage();
Session::flash('error', $info);
Log::error($th->getMessage());
$this->addError('email', $info);
}
}
public function render()
{
return view('livewire.auth.forget-password');
}
}