. */ namespace App\Http\Controllers\Account; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use App\Http\Controllers\Controller; use App\Account; use App\AccountTombstone; class AccountController extends Controller { public function home(Request $request) { if ($request->user()) { return redirect()->route('account.panel'); } return view('account.home', [ 'count' => Account::where('activated', true)->count() ]); } public function documentation(Request $request) { return view('account.documentation', [ 'documentation' => markdownDocumentationView('account.documentation_markdown') ]); } public function panel(Request $request) { return view('account.panel', [ 'account' => $request->user() ]); } public function generateApiKey(Request $request) { $account = $request->user(); $account->generateApiKey(); return redirect()->back(); } public function delete(Request $request) { return view('account.delete', [ 'account' => $request->user() ]); } public function destroy(Request $request) { $request->validate(['identifier' => 'required|same:identifier_confirm']); if (!$request->user()->hasTombstone()) { $tombstone = new AccountTombstone; $tombstone->username = $request->user()->username; $tombstone->domain = $request->user()->domain; $tombstone->save(); } $request->user()->delete(); Auth::logout(); return redirect()->route('account.login'); } }