class Adyen::AccountHoldersApi

def create_account_holder(request, headers: {})

def create_account_holder(request, headers: {})
  endpoint = '/accountHolders'.gsub(/{.+?}/, '%s')
  endpoint = endpoint.gsub(%r{^/}, '')
  endpoint = format(endpoint)
  
  action = { method: 'post', url: endpoint }
  @client.call_adyen_api(@service, action, request, headers, @version)
end

def get_account_holder(id, headers: {})

def get_account_holder(id, headers: {})
  endpoint = '/accountHolders/{id}'.gsub(/{.+?}/, '%s')
  endpoint = endpoint.gsub(%r{^/}, '')
  endpoint = format(endpoint, id)
  
  action = { method: 'get', url: endpoint }
  @client.call_adyen_api(@service, action, {}, headers, @version)
end

def get_all_balance_accounts_of_account_holder(id, headers: {}, query_params: {})

def get_all_balance_accounts_of_account_holder(id, headers: {}, query_params: {})
  endpoint = '/accountHolders/{id}/balanceAccounts'.gsub(/{.+?}/, '%s')
  endpoint = endpoint.gsub(%r{^/}, '')
  endpoint = format(endpoint, id)
  endpoint += create_query_string(query_params)
  action = { method: 'get', url: endpoint }
  @client.call_adyen_api(@service, action, {}, headers, @version)
end

def get_tax_form(id, headers: {}, query_params: {})

def get_tax_form(id, headers: {}, query_params: {})
  endpoint = '/accountHolders/{id}/taxForms'.gsub(/{.+?}/, '%s')
  endpoint = endpoint.gsub(%r{^/}, '')
  endpoint = format(endpoint, id)
  endpoint += create_query_string(query_params)
  action = { method: 'get', url: endpoint }
  @client.call_adyen_api(@service, action, {}, headers, @version)
end

def initialize(client, version = DEFAULT_VERSION)

def initialize(client, version = DEFAULT_VERSION)
  super(client, version, 'BalancePlatform')
end

def update_account_holder(request, id, headers: {})

def update_account_holder(request, id, headers: {})
  endpoint = '/accountHolders/{id}'.gsub(/{.+?}/, '%s')
  endpoint = endpoint.gsub(%r{^/}, '')
  endpoint = format(endpoint, id)
  
  action = { method: 'patch', url: endpoint }
  @client.call_adyen_api(@service, action, request, headers, @version)
end