test_instalasi_simrs/app/Http/Controllers/Auth/ResetPasswordController.php
2025-04-27 22:36:03 +07:00

57 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers\Auth;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
class ResetPasswordController extends Controller
{
public function __construct()
{
$this->middleware('guest');
}
public function resetPassword($token)
{
return view('auth.email.form-forgot-password-link', ['token' => $token]);
}
public function resetPasswordForm(Request $request)
{
$request->validate([
'email' => 'required|email|exists:users',
'password' => 'required|string|min:6|confirmed',
'password_confirmation' => 'required'
]);
// Periksa apakah email ada dalam tabel users
$userExists = User::where('email', $request->email)->exists();
if (!$userExists) {
return response()->json(['error' => 'Email tidak ditemukan!'], 404);
}
$updatePassword = DB::table('password_resets')
->where([
'email' => $request->email,
'token' => $request->token
])
->first();
if (!$updatePassword) {
return back()->withInput()->with('error', 'Salah token!');
}
$user = User::where('email', $request->email)
->update(['password' => Hash::make($request->password)]);
DB::table('password_resets')->where(['email' => $request->email])->delete();
return response()->json(['success' => 'Password berhasil diubah']);
}
}