diff --git a/flexiapi/app/Http/Controllers/AccountController.php b/flexiapi/app/Http/Controllers/AccountController.php index 9da1baa..84d991d 100644 --- a/flexiapi/app/Http/Controllers/AccountController.php +++ b/flexiapi/app/Http/Controllers/AccountController.php @@ -26,6 +26,23 @@ class AccountController extends Controller return view('account.login'); } + public function delete(Request $request) + { + return view('account.delete', [ + 'account' => $request->user() + ]); + } + + public function destroy(Request $request) + { + $request->validate(['identifier' => 'required|same:identifier_confirm']); + + Auth::logout(); + //$request->user()->delete(); + + return redirect()->route('account.login'); + } + public function authenticate(Request $request) { $request->validate([ diff --git a/flexiapi/resources/views/account/delete.blade.php b/flexiapi/resources/views/account/delete.blade.php new file mode 100644 index 0000000..c3fa7d3 --- /dev/null +++ b/flexiapi/resources/views/account/delete.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.account') + +@section('content') + +

Delete my account

+ +{!! Form::open(['route' => 'account.destroy', 'method' => 'delete']) !!} + +

You are going to permanently delete your account.

+

Please enter your username {{ $account->identifier }} to confirm.

+ +
+ {!! Form::label('identifier', 'Username') !!} + {!! Form::text('identifier', old('identifier'), ['class' => 'form-control', 'placeholder' => 'username@server.com', 'required']) !!} +
+ +{!! Form::hidden('identifier_confirm', $account->identifier) !!} + +{!! Form::submit('Delete', ['class' => 'btn btn-danger float-right']) !!} +{!! Form::close() !!} + +@endsection \ No newline at end of file diff --git a/flexiapi/resources/views/account/index.blade.php b/flexiapi/resources/views/account/index.blade.php index 99ccf6f..51364cc 100644 --- a/flexiapi/resources/views/account/index.blade.php +++ b/flexiapi/resources/views/account/index.blade.php @@ -23,6 +23,12 @@

MD5 password only

@endif + +
+
Delete my account
+
+

Remove your account from our service

+
@endsection \ No newline at end of file diff --git a/flexiapi/routes/web.php b/flexiapi/routes/web.php index e721918..3e0d780 100644 --- a/flexiapi/routes/web.php +++ b/flexiapi/routes/web.php @@ -34,6 +34,9 @@ Route::group(['middleware' => 'auth'], function () { Route::get('/', 'AccountController@index')->name('account.index'); Route::get('logout', 'AccountController@logout')->name('account.logout'); + Route::get('delete', 'AccountController@delete')->name('account.delete'); + Route::delete('delete', 'AccountController@destroy')->name('account.destroy'); + Route::get('email', 'AccountEmailController@show')->name('account.email'); Route::post('email', 'AccountEmailController@update')->name('account.email.update'); Route::get('password', 'AccountPasswordController@show')->name('account.password');