SettingController.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Requests\DestroyAccountRequest;
  4. use App\Jobs\DeleteAccount;
  5. use Illuminate\Support\Facades\Hash;
  6. class SettingController extends Controller
  7. {
  8. public function show()
  9. {
  10. $twoFactor = app('pragmarx.google2fa');
  11. $qrCode = $twoFactor->getQRCodeInline(
  12. config('app.name'),
  13. user()->email,
  14. user()->two_factor_secret
  15. );
  16. return view('settings.show', [
  17. 'user' => user(),
  18. 'recipientOptions' => user()->verifiedRecipients,
  19. 'authSecret' => user()->two_factor_secret,
  20. 'qrCode' => $qrCode
  21. ]);
  22. }
  23. public function destroy(DestroyAccountRequest $request)
  24. {
  25. if (!Hash::check($request->current_password_delete, user()->password)) {
  26. return back()->withErrors(['current_password_delete' => 'Incorrect password entered']);
  27. }
  28. DeleteAccount::dispatch(user());
  29. return redirect()->route('login')
  30. ->with(['status' => 'Account deleted successfully!']);
  31. }
  32. }