movie-night-nuevo/app/Livewire/Auth/PasswordReset.php

54 lines
1.4 KiB
PHP
Raw Normal View History

2025-12-12 23:07:04 -06:00
<?php
namespace App\Livewire\Auth;
use App\Livewire\Forms\PasswordResetForm;
use App\Mail\PasswordResetNewUser;
use App\Models\User;
use App\Models\UserProfile;
use Exception;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Password;
use Livewire\Attributes\Layout;
use Livewire\Component;
use function Laravel\Prompts\error;
class PasswordReset extends Component
{
public PasswordResetForm $form;
public string $token;
public function mount($token)
{
$this->token = $token;
}
#[Layout('components.layouts.auth')]
public function resetPassword()
{
$validated = $this->form->validate();
$status = Password::reset(array_merge($validated, ['token' => $this->token]),
function (User $user, string $password) {
$user->forceFill([
'password' => Hash::make($password),
])->save();
});
if ($status === Password::PASSWORD_RESET) {
//Mail::to($user->email)->send(new PasswordResetNewUser($user));
return redirect()->route('login');
}
$this->addError('email', 'The provided credentials do not match our records.');
}
public function render()
{
return view('pages.auth.reset-password');
}
}