2025-05-23 18:58:22 -04:00
|
|
|
class PlaidAccount::Importer
|
|
|
|
def initialize(plaid_account, account_snapshot:)
|
|
|
|
@plaid_account = plaid_account
|
|
|
|
@account_snapshot = account_snapshot
|
|
|
|
end
|
|
|
|
|
|
|
|
def import
|
2025-05-24 17:41:14 -04:00
|
|
|
import_account_info
|
|
|
|
import_transactions if account_snapshot.transactions_data.present?
|
|
|
|
import_investments if account_snapshot.investments_data.present?
|
|
|
|
import_liabilities if account_snapshot.liabilities_data.present?
|
2025-05-23 18:58:22 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
attr_reader :plaid_account, :account_snapshot
|
|
|
|
|
|
|
|
def import_account_info
|
|
|
|
plaid_account.upsert_plaid_snapshot!(account_snapshot.account_data)
|
|
|
|
end
|
|
|
|
|
|
|
|
def import_transactions
|
|
|
|
plaid_account.upsert_plaid_transactions_snapshot!(account_snapshot.transactions_data)
|
|
|
|
end
|
|
|
|
|
|
|
|
def import_investments
|
|
|
|
plaid_account.upsert_plaid_investments_snapshot!(account_snapshot.investments_data)
|
|
|
|
end
|
|
|
|
|
|
|
|
def import_liabilities
|
|
|
|
plaid_account.upsert_plaid_liabilities_snapshot!(account_snapshot.liabilities_data)
|
|
|
|
end
|
|
|
|
end
|