class Io::Flow::V0::Clients::Organizations

Public Class Methods

new(client) click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 2677
def initialize(client)
  @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
end

Public Instance Methods

delete_by_organization_id(organization_id) click to toggle source

Delete the organization with this id

# File lib/flow_commerce/flow_api_v0_client.rb, line 2775
def delete_by_organization_id(organization_id)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  r = @client.request("/organizations/#{CGI.escape(organization_id)}").delete
  nil
end
delete_settings_and_regions_by_organization_id_and_region(organization_id, region) click to toggle source

Removes the setting for this region for a specific organization

# File lib/flow_commerce/flow_api_v0_client.rb, line 2813
def delete_settings_and_regions_by_organization_id_and_region(organization_id, region)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  HttpClient::Preconditions.assert_class('region', region, String)
  r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions/#{CGI.escape(region)}").delete
  nil
end
get(incoming={}) click to toggle source

Search organizations. Always paginated.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2721
def get(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  query = {
    :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
    :channel_id => (x = opts.delete(:channel_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('channel_id', x, String)),
    :name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, String)),
    :environment => (x = opts.delete(:environment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x)).value),
    :parent => (x = opts.delete(:parent); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent', x, String)),
    :in_channel => (x = opts.delete(:in_channel); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('in_channel', x)),
    :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
    :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
    :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "name" : x), String)
  }.delete_if { |k, v| v.nil? }
  r = @client.request("/organizations").with_query(query).get
  r.map { |x| ::Io::Flow::V0::Models::Organization.new(x) }
end
get_by_organization_id(organization_id) click to toggle source

Returns information about a specific organization.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2760
def get_by_organization_id(organization_id)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  r = @client.request("/organizations/#{CGI.escape(organization_id)}").get
  ::Io::Flow::V0::Models::Organization.new(r)
end
get_countries_and_destinations_by_organization(organization) click to toggle source

List of all destination countries available for this organization, including countries within a world experience.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2699
def get_countries_and_destinations_by_organization(organization)
  HttpClient::Preconditions.assert_class('organization', organization, String)
  r = @client.request("/#{CGI.escape(organization)}/countries/destinations").get
  r.map { |x| ::Io::Flow::V0::Models::Country.new(x) }
end
get_countries_and_statuses_by_organization(organization) click to toggle source

Status of all countries

# File lib/flow_commerce/flow_api_v0_client.rb, line 2706
def get_countries_and_statuses_by_organization(organization)
  HttpClient::Preconditions.assert_class('organization', organization, String)
  r = @client.request("/#{CGI.escape(organization)}/countries/statuses").get
  r.map { |x| ::Io::Flow::V0::Models::CountryStatus.new(x) }
end
get_countries_by_organization(organization, incoming={}) click to toggle source

The countries resources provides a unique list of all of the countries for which an experience exists. We generate this list of countries by iterating through all of the experience regions, and collecting all of the countries.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2684
def get_countries_by_organization(organization, incoming={})
  HttpClient::Preconditions.assert_class('organization', organization, String)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  query = {
    :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
    :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
    :status => HttpClient::Preconditions.assert_class('status', (x = opts.delete(:status); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceStatus) ? x : ::Io::Flow::V0::Models::ExperienceStatus.apply(x)).value },
    :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
  }.delete_if { |k, v| v.nil? }
  r = @client.request("/#{CGI.escape(organization)}/countries").with_query(query).get
  r.map { |x| ::Io::Flow::V0::Models::Country.new(x) }
end
get_settings_and_currencies_by_organization_id(organization_id) click to toggle source

Returns currencies for a specific organization.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2782
def get_settings_and_currencies_by_organization_id(organization_id)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/currencies").get
  r.map { |x| ::Io::Flow::V0::Models::Currency.new(x) }
end
get_settings_and_regions_and_countries_and_available_by_organization_id(organization_id) click to toggle source

Returns the list of enabled countries based on the region settings for a specific organization

# File lib/flow_commerce/flow_api_v0_client.rb, line 2797
def get_settings_and_regions_and_countries_and_available_by_organization_id(organization_id)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions/countries/available").get
  r.map { |x| ::Io::Flow::V0::Models::Country.new(x) }
end
get_settings_and_regions_by_organization_id(organization_id) click to toggle source

Returns the region settings associated to a specific organization.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2789
def get_settings_and_regions_by_organization_id(organization_id)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions").get
  r.map { |x| ::Io::Flow::V0::Models::RegionSetting.new(x) }
end
get_versions(incoming={}) click to toggle source

Provides visibility into recent changes of each object, including deletion

# File lib/flow_commerce/flow_api_v0_client.rb, line 2746
def get_versions(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  query = {
    :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
    :organization => (x = opts.delete(:organization); x.nil? ? nil : HttpClient::Preconditions.assert_class('organization', x, Array).map { |v| HttpClient::Preconditions.assert_class('organization', v, String) }),
    :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
    :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
    :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
  }.delete_if { |k, v| v.nil? }
  r = @client.request("/organizations/versions").with_query(query).get
  r.map { |x| ::Io::Flow::V0::Models::OrganizationVersion.new(x) }
end
post(organization_form) click to toggle source

Create a new organization.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2739
def post(organization_form)
  (x = organization_form; x.is_a?(::Io::Flow::V0::Models::OrganizationForm) ? x : ::Io::Flow::V0::Models::OrganizationForm.new(x))
  r = @client.request("/organizations").with_json(organization_form.to_json).post
  ::Io::Flow::V0::Models::Organization.new(r)
end
put_by_organization_id(organization_id, organization_put_form) click to toggle source

Update or create an organization with the specified id.

# File lib/flow_commerce/flow_api_v0_client.rb, line 2767
def put_by_organization_id(organization_id, organization_put_form)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  (x = organization_put_form; x.is_a?(::Io::Flow::V0::Models::OrganizationPutForm) ? x : ::Io::Flow::V0::Models::OrganizationPutForm.new(x))
  r = @client.request("/organizations/#{CGI.escape(organization_id)}").with_json(organization_put_form.to_json).put
  ::Io::Flow::V0::Models::Organization.new(r)
end
put_countries_and_statuses_by_organization_and_country(organization, country, country_status_form) click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 2712
def put_countries_and_statuses_by_organization_and_country(organization, country, country_status_form)
  HttpClient::Preconditions.assert_class('organization', organization, String)
  HttpClient::Preconditions.assert_class('country', country, String)
  (x = country_status_form; x.is_a?(::Io::Flow::V0::Models::CountryStatusForm) ? x : ::Io::Flow::V0::Models::CountryStatusForm.new(x))
  r = @client.request("/#{CGI.escape(organization)}/countries/statuses/#{CGI.escape(country)}").with_json(country_status_form.to_json).put
  ::Io::Flow::V0::Models::CountryStatus.new(r)
end
put_settings_and_regions_by_organization_id_and_region(organization_id, region, region_setting_form) click to toggle source

Updates or creates a region setting for a specific organization

# File lib/flow_commerce/flow_api_v0_client.rb, line 2804
def put_settings_and_regions_by_organization_id_and_region(organization_id, region, region_setting_form)
  HttpClient::Preconditions.assert_class('organization_id', organization_id, String)
  HttpClient::Preconditions.assert_class('region', region, String)
  (x = region_setting_form; x.is_a?(::Io::Flow::V0::Models::RegionSettingForm) ? x : ::Io::Flow::V0::Models::RegionSettingForm.new(x))
  r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions/#{CGI.escape(region)}").with_json(region_setting_form.to_json).put
  ::Io::Flow::V0::Models::RegionSetting.new(r)
end