diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index ea3c7ab28..9f4f116fe 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -15,6 +15,7 @@ use App\Http\Controllers\Settings\{ PrivacySettings, SecuritySettings }; +use App\Jobs\DeletePipeline\DeleteAccountPipeline; class SettingsController extends Controller { @@ -43,7 +44,7 @@ class SettingsController extends Controller 'optimize_screen_reader', 'high_contrast_mode', 'video_autoplay', - ]; + ]; foreach ($fields as $field) { $form = $request->input($field); if ($form == 'on') { @@ -130,5 +131,26 @@ class SettingsController extends Controller { return view('settings.developers'); } + + public function removeAccountTemporary(Request $request) + { + return view('settings.remove.temporary'); + } + + public function removeAccountPermanent(Request $request) + { + return view('settings.remove.permanent'); + } + + public function removeAccountPermanentSubmit(Request $request) + { + $user = Auth::user(); + if($user->is_admin == true) { + return abort(400, 'You cannot delete an admin account.'); + } + DeleteAccountPipeline::dispatch($user); + Auth::logout(); + return redirect('/'); + } }