whisper-money/app/Services/Banking/Sync/BankingConnectionSyncerFact...

26 lines
857 B
PHP

<?php
namespace App\Services\Banking\Sync;
use App\Contracts\BankingConnectionSyncer;
use App\Enums\BankingProvider;
use App\Models\BankingConnection;
class BankingConnectionSyncerFactory
{
public function make(BankingConnection $connection): BankingConnectionSyncer
{
$syncer = match ($connection->provider) {
BankingProvider::IndexaCapital => IndexaCapitalSyncer::class,
BankingProvider::Binance => BinanceSyncer::class,
BankingProvider::Wise => WiseSyncer::class,
BankingProvider::Bitpanda => BitpandaSyncer::class,
BankingProvider::Coinbase => CoinbaseSyncer::class,
BankingProvider::InteractiveBrokers => InteractiveBrokersSyncer::class,
BankingProvider::EnableBanking => EnableBankingSyncer::class,
};
return app($syncer);
}
}