validate([ 'email' => ['required', 'email'], ]); $found = User::where('email', $validated['email'])->exists(); return response()->json(['found' => $found]); } catch (\Illuminate\Validation\ValidationException $e) { return response()->json([ 'found' => false, 'message' => collect($e->errors())->flatten()->first(), ], 422); } catch (\Exception $e) { return response()->json([ 'found' => false, 'message' => 'Terjadi kesalahan server: ' . $e->getMessage(), ], 500); } } /** * AJAX: update password berdasarkan email yang sudah diverifikasi. * POST /password/manual/update */ public function updatePassword(Request $request) { try { $validated = $request->validate([ 'email' => ['required', 'email', 'exists:users,email'], 'password' => ['required', 'confirmed', Password::min(8)], 'password_confirmation' => ['required'], ]); $user = User::where('email', $validated['email'])->firstOrFail(); $user->update([ 'password' => Hash::make($validated['password']), ]); return response()->json(['success' => true]); } catch (\Illuminate\Validation\ValidationException $e) { return response()->json([ 'success' => false, 'message' => collect($e->errors())->flatten()->first(), ], 422); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => 'Terjadi kesalahan server: ' . $e->getMessage(), ], 500); } } }