. */ namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Requests\ExternalAccount\CreateUpdate; use App\Services\AccountService; use Illuminate\Http\Request; use Illuminate\Validation\Rule; use App\ExternalAccount; use App\Account; class ExternalAccountController extends Controller { public function show(int $accountId) { $account = Account::findOrFail($accountId); return view('admin.account.external.show', [ 'account' => $account, 'externalAccount' => $account->external ?? new ExternalAccount, 'protocols' => ExternalAccount::PROTOCOLS ]); } public function store(CreateUpdate $request, int $accountId) { $externalAccount = (new AccountService)->storeExternalAccount($request, $accountId); return redirect()->route('admin.account.show', $externalAccount->account->id); } public function delete(int $accountId) { $account = Account::findOrFail($accountId); return view('admin.account.external.delete', [ 'account' => $account ]); } public function destroy(int $accountId) { $account = Account::findOrFail($accountId); $account->external->delete(); return redirect()->route('admin.account.show', $account->id); } }