Sha256: 46dcc4bbc0698d9a7ff1101d2eb227dfbedf16e438d7fb35ae9622cdd3b95968

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

module PlaidRails
  class CreateAccountService
  
    # creates a new plaid_rails_account for each account the user has selected
    def self.call(account_params)
      account_params["account_ids"].each  do |id|
        # set Plaid::User
        user = Plaid.set_user(account_params["access_token"],['connect'])
        #find the account by account_id 
        account = user.accounts.find{|a| a.id==id}
        PlaidRails::Account.create!(
          access_token: account_params["access_token"], 
          token: account_params["token"],
          plaid_type: account_params["type"],
          name: account.name,
          bank_name: Plaid.institution.find{|i| i.type==account_params["type"]}.name,
          number: account.meta["number"],
          owner_id: account_params["owner_id"],
          owner_type: account_params["owner_type"],
          available_balance: account.available_balance,
          current_balance: account.current_balance,
          plaid_id: id
        ) unless PlaidRails::Account.exists?(plaid_id: id)
      end
      
      PlaidRails::Account.where(owner_id: account_params["owner_id"], 
        owner_type: account_params["owner_type"])
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
plaid_rails-0.2.3 app/services/plaid_rails/create_account_service.rb