. */ declare(strict_types=1); namespace FireflyIII\Import\Mapper; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; /** * Class OpposingAccounts. */ class OpposingAccountIbans implements MapperInterface { /** * @return array */ public function getMap(): array { /** @var AccountRepositoryInterface $accountRepository */ $accountRepository = app(AccountRepositoryInterface::class); $set = $accountRepository->getAccountsByType( [ AccountType::DEFAULT, AccountType::ASSET, AccountType::EXPENSE, AccountType::BENEFICIARY, AccountType::REVENUE, ] ); $topList = []; $list = []; /** @var Account $account */ foreach ($set as $account) { $iban = $account->iban ?? ''; $accountId = (int)$account->id; if (\strlen($iban) > 0) { $topList[$accountId] = $account->iban . ' (' . $account->name . ')'; } if (0 === \strlen($iban)) { $list[$accountId] = $account->name; } } $list = $topList + $list; asort($list); $list = [0 => trans('import.map_do_not_map')] + $list; return $list; } }