| 123456789101112131415161718192021222324252627282930 | 
							- <?php
 - 
 - namespace App\Services;
 - 
 - use App\Models\Banking\BankAccount;
 - use App\Models\Banking\ConnectedBankAccount;
 - use App\Models\Company;
 - 
 - class BankAccountService
 - {
 -     public function getOrProcessBankAccount(Company $company, ConnectedBankAccount $connectedBankAccount, int | string $selectedBankAccountId): BankAccount
 -     {
 -         if ($selectedBankAccountId === 'new') {
 -             return $this->processNewBankAccount($company, $connectedBankAccount);
 -         }
 - 
 -         return $company->bankAccounts()->find($selectedBankAccountId);
 -     }
 - 
 -     protected function processNewBankAccount(Company $company, ConnectedBankAccount $connectedBankAccount): BankAccount
 -     {
 -         return $connectedBankAccount->bankAccount()->create([
 -             'company_id' => $company->id,
 -             'institution_id' => $connectedBankAccount->institution_id,
 -             'type' => $connectedBankAccount->type,
 -             'number' => $connectedBankAccount->mask,
 -             'enabled' => BankAccount::where('company_id', $company->id)->where('enabled', true)->doesntExist(),
 -         ]);
 -     }
 - }
 
 
  |