26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/auth0/client_grants/organizations/client.rb', line 26
def list(request_options: {}, **params)
params = Auth0::Internal::Types::Utils.normalize_keys(params)
query_param_names = %i[from take]
query_params = {}
query_params["from"] = params[:from] if params.key?(:from)
query_params["take"] = params.fetch(:take, 50)
params = params.except(*query_param_names)
Auth0::Internal::CursorItemIterator.new(
cursor_field: :next_,
item_field: :organizations,
initial_cursor: query_params["from"]
) do |next_cursor|
query_params["from"] = next_cursor
request = Auth0::Internal::JSON::Request.new(
base_url: request_options[:base_url],
method: "GET",
path: "client-grants/#{URI.encode_uri_component(params[:id].to_s)}/organizations",
query: query_params,
request_options: request_options
)
begin
response = @client.send(request)
rescue Net::HTTPRequestTimeout
raise Auth0::Errors::TimeoutError
end
code = response.code.to_i
if code.between?(200, 299)
Auth0::Types::ListClientGrantOrganizationsPaginatedResponseContent.load(response.body)
else
error_class = Auth0::Errors::ResponseError.subclass_for_code(code)
raise error_class.new(response.body, code: code)
end
end
end
|