validated()))->handle(); session()->flash('success', 'Account created successfully!'); return redirect()->route('accounts.index'); } /** * Update the specified resource in storage. */ public function update(User $account, EditAccountRequest $request): RedirectResponse { (new UpdateAccountService($account, $request->validated()))->handle(); session()->flash('success', 'Account updated successfully!'); return redirect()->route('accounts.index'); } /** * Remove the specified resource from storage. */ public function destroy($account): RedirectResponse { (new DeleteAccountService(User::findOrFail($account)))->handle(); session()->flash('success', 'Account deleted successfully!'); return redirect()->route('accounts.index'); } /** * Impersonate a user */ public function impersonate(User $user): RedirectResponse { auth()->user()->impersonate($user); return redirect()->route('dashboard'); } /** * Leave impersonation */ public function leaveImpersonation(): RedirectResponse { auth()->user()->leaveImpersonation(); return redirect()->route('dashboard'); } }