PasswordController.php 951 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Controllers\Settings;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\RedirectResponse;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Hash;
  7. use Illuminate\Validation\Rules\Password;
  8. use Inertia\Inertia;
  9. use Inertia\Response;
  10. class PasswordController extends Controller
  11. {
  12. /**
  13. * Show the user's password settings page.
  14. */
  15. public function edit(): Response
  16. {
  17. return Inertia::render('settings/PasswordPage');
  18. }
  19. /**
  20. * Update the user's password.
  21. */
  22. public function update(Request $request): RedirectResponse
  23. {
  24. $validated = $request->validate([
  25. 'current_password' => ['required', 'current_password'],
  26. 'password' => ['required', Password::defaults(), 'confirmed'],
  27. ]);
  28. $request->user()->update([
  29. 'password' => Hash::make($validated['password']),
  30. ]);
  31. return back();
  32. }
  33. }