test_sdk 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/core/file_utilities.rb +26 -0
- data/lib/environment.rb +7 -0
- data/lib/gemconfig.rb +14 -0
- data/lib/requests.rb +166 -0
- data/lib/test_sdk/benchmark/client.rb +1031 -0
- data/lib/test_sdk/company/client.rb +474 -0
- data/lib/test_sdk/deal/client.rb +584 -0
- data/lib/test_sdk/file/client.rb +692 -0
- data/lib/test_sdk/financials/client.rb +97 -0
- data/lib/test_sdk/group/client.rb +737 -0
- data/lib/test_sdk/macro/client.rb +422 -0
- data/lib/test_sdk/metadata/client.rb +95 -0
- data/lib/test_sdk/product/client.rb +419 -0
- data/lib/test_sdk/talent/client.rb +266 -0
- data/lib/test_sdk/types/account_manager_response.rb +74 -0
- data/lib/test_sdk/types/all_data_metadata_response.rb +68 -0
- data/lib/test_sdk/types/area.rb +74 -0
- data/lib/test_sdk/types/authenticate_api_key_response.rb +55 -0
- data/lib/test_sdk/types/available_categories_response.rb +5 -0
- data/lib/test_sdk/types/available_models_response.rb +69 -0
- data/lib/test_sdk/types/band_response.rb +83 -0
- data/lib/test_sdk/types/benchmark_quantile.rb +465 -0
- data/lib/test_sdk/types/categories_metadata_response.rb +72 -0
- data/lib/test_sdk/types/category_growth_rates.rb +143 -0
- data/lib/test_sdk/types/category_metadata.rb +79 -0
- data/lib/test_sdk/types/category_metadata_default_user_type.rb +8 -0
- data/lib/test_sdk/types/cohorts_response.rb +132 -0
- data/lib/test_sdk/types/column_metadata.rb +110 -0
- data/lib/test_sdk/types/column_mini_metadata.rb +83 -0
- data/lib/test_sdk/types/columns_metadata_response.rb +72 -0
- data/lib/test_sdk/types/company_response.rb +120 -0
- data/lib/test_sdk/types/concentration_endpoint_cdf_detail.rb +96 -0
- data/lib/test_sdk/types/concentration_endpoint_top_users_detail.rb +72 -0
- data/lib/test_sdk/types/concentration_response.rb +103 -0
- data/lib/test_sdk/types/concentration_timeseries_detail.rb +159 -0
- data/lib/test_sdk/types/contribution_response.rb +135 -0
- data/lib/test_sdk/types/create_api_key_response.rb +55 -0
- data/lib/test_sdk/types/create_file_for_signed_url_response.rb +127 -0
- data/lib/test_sdk/types/create_file_response.rb +113 -0
- data/lib/test_sdk/types/deal_combined_metrics_response.rb +477 -0
- data/lib/test_sdk/types/deal_data_availablity_response.rb +109 -0
- data/lib/test_sdk/types/deal_with_files_response.rb +194 -0
- data/lib/test_sdk/types/endpoint_seniority_count.rb +66 -0
- data/lib/test_sdk/types/executive_profile.rb +91 -0
- data/lib/test_sdk/types/executive_profile_position.rb +97 -0
- data/lib/test_sdk/types/file_response.rb +113 -0
- data/lib/test_sdk/types/file_type.rb +14 -0
- data/lib/test_sdk/types/financial_metrics.rb +113 -0
- data/lib/test_sdk/types/financials_response.rb +102 -0
- data/lib/test_sdk/types/frequency.rb +9 -0
- data/lib/test_sdk/types/function_level_growth_accounting.rb +111 -0
- data/lib/test_sdk/types/gcs_signed_url_response.rb +81 -0
- data/lib/test_sdk/types/group_response.rb +158 -0
- data/lib/test_sdk/types/group_user.rb +124 -0
- data/lib/test_sdk/types/group_with_users_response.rb +170 -0
- data/lib/test_sdk/types/growth_accounting_response.rb +226 -0
- data/lib/test_sdk/types/healthz_response.rb +55 -0
- data/lib/test_sdk/types/http_validation_error.rb +61 -0
- data/lib/test_sdk/types/income_statement_entry.rb +81 -0
- data/lib/test_sdk/types/model_metadata.rb +76 -0
- data/lib/test_sdk/types/models_metadata_response.rb +76 -0
- data/lib/test_sdk/types/paginated_response_company_response.rb +83 -0
- data/lib/test_sdk/types/paginated_response_deal_with_files_response.rb +84 -0
- data/lib/test_sdk/types/paginated_response_file_response.rb +83 -0
- data/lib/test_sdk/types/paginated_response_group_user.rb +83 -0
- data/lib/test_sdk/types/permission_model.rb +65 -0
- data/lib/test_sdk/types/priority.rb +10 -0
- data/lib/test_sdk/types/product_info_response.rb +65 -0
- data/lib/test_sdk/types/role_response.rb +95 -0
- data/lib/test_sdk/types/scale.rb +72 -0
- data/lib/test_sdk/types/scale_model.rb +80 -0
- data/lib/test_sdk/types/scale_models_response.rb +5 -0
- data/lib/test_sdk/types/scaling.rb +10 -0
- data/lib/test_sdk/types/status.rb +12 -0
- data/lib/test_sdk/types/tradeoff_model.rb +95 -0
- data/lib/test_sdk/types/tradeoff_models_response.rb +5 -0
- data/lib/test_sdk/types/unit.rb +12 -0
- data/lib/test_sdk/types/unit_economics_info_response.rb +55 -0
- data/lib/test_sdk/types/user_accounting_response.rb +168 -0
- data/lib/test_sdk/types/user_role_response.rb +77 -0
- data/lib/test_sdk/types/user_type.rb +12 -0
- data/lib/test_sdk/types/user_with_groups_response.rb +140 -0
- data/lib/test_sdk/types/user_with_permissions_response.rb +153 -0
- data/lib/test_sdk/types/validation_error.rb +76 -0
- data/lib/test_sdk/types/validation_error_loc_item.rb +52 -0
- data/lib/test_sdk/types/weather_components.rb +123 -0
- data/lib/test_sdk/types/weather_gauge.rb +76 -0
- data/lib/test_sdk/types/weather_market_context.rb +109 -0
- data/lib/test_sdk/types/weather_metadata.rb +113 -0
- data/lib/test_sdk/unit_economics/client.rb +124 -0
- data/lib/test_sdk/user/client.rb +363 -0
- data/lib/test_sdk.rb +190 -0
- data/lib/types_export.rb +77 -0
- metadata +251 -0
@@ -0,0 +1,737 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../requests"
|
4
|
+
require_relative "../types/group_with_users_response"
|
5
|
+
require_relative "../types/paginated_response_group_user"
|
6
|
+
require_relative "../types/group_response"
|
7
|
+
require_relative "../../core/file_utilities"
|
8
|
+
require_relative "../types/user_role_response"
|
9
|
+
require "async"
|
10
|
+
|
11
|
+
module NewDemoApiClient
|
12
|
+
class GroupClient
|
13
|
+
# @return [NewDemoApiClient::RequestClient]
|
14
|
+
attr_reader :request_client
|
15
|
+
|
16
|
+
# @param request_client [NewDemoApiClient::RequestClient]
|
17
|
+
# @return [NewDemoApiClient::GroupClient]
|
18
|
+
def initialize(request_client:)
|
19
|
+
@request_client = request_client
|
20
|
+
end
|
21
|
+
|
22
|
+
# Lookup a group by its domain.
|
23
|
+
#
|
24
|
+
# @param domain [String]
|
25
|
+
# @param sort_by [String]
|
26
|
+
# @param sort_order [String]
|
27
|
+
# @param page [Integer]
|
28
|
+
# @param page_size [Integer]
|
29
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
30
|
+
# @return [NewDemoApiClient::GroupWithUsersResponse]
|
31
|
+
# @example
|
32
|
+
# api = NewDemoApiClient::Client.new(
|
33
|
+
# base_url: "https://api.example.com",
|
34
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
35
|
+
# token: "YOUR_AUTH_TOKEN"
|
36
|
+
# )
|
37
|
+
# api.group.get_by_domain(domain: "domain")
|
38
|
+
def get_by_domain(domain:, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
39
|
+
response = @request_client.conn.get do |req|
|
40
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
41
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
42
|
+
req.headers = {
|
43
|
+
**(req.headers || {}),
|
44
|
+
**@request_client.get_headers,
|
45
|
+
**(request_options&.additional_headers || {})
|
46
|
+
}.compact
|
47
|
+
req.params = {
|
48
|
+
**(request_options&.additional_query_parameters || {}),
|
49
|
+
"domain": domain,
|
50
|
+
"sort_by": sort_by,
|
51
|
+
"sort_order": sort_order,
|
52
|
+
"page": page,
|
53
|
+
"page_size": page_size
|
54
|
+
}.compact
|
55
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
56
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
57
|
+
end
|
58
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group"
|
59
|
+
end
|
60
|
+
NewDemoApiClient::GroupWithUsersResponse.from_json(json_object: response.body)
|
61
|
+
end
|
62
|
+
|
63
|
+
# Get a group by its ID.
|
64
|
+
#
|
65
|
+
# @param group_id [Integer]
|
66
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
67
|
+
# @return [NewDemoApiClient::GroupWithUsersResponse]
|
68
|
+
# @example
|
69
|
+
# api = NewDemoApiClient::Client.new(
|
70
|
+
# base_url: "https://api.example.com",
|
71
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
72
|
+
# token: "YOUR_AUTH_TOKEN"
|
73
|
+
# )
|
74
|
+
# api.group.get(group_id: 1)
|
75
|
+
def get(group_id:, request_options: nil)
|
76
|
+
response = @request_client.conn.get do |req|
|
77
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
78
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
79
|
+
req.headers = {
|
80
|
+
**(req.headers || {}),
|
81
|
+
**@request_client.get_headers,
|
82
|
+
**(request_options&.additional_headers || {})
|
83
|
+
}.compact
|
84
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
85
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
86
|
+
end
|
87
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
88
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
89
|
+
end
|
90
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}"
|
91
|
+
end
|
92
|
+
NewDemoApiClient::GroupWithUsersResponse.from_json(json_object: response.body)
|
93
|
+
end
|
94
|
+
|
95
|
+
# Update a group.
|
96
|
+
#
|
97
|
+
# @param group_id [Integer]
|
98
|
+
# @param name [String]
|
99
|
+
# @param domain [String]
|
100
|
+
# @param thumbnail_url [String] The thumbnail URL of the group
|
101
|
+
# @param analysis_email [String] The email address for analysis to be sent to
|
102
|
+
# @param data_api_access [Boolean] Whether the group has access to the data API
|
103
|
+
# @param account_manager_id [Integer]
|
104
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
105
|
+
# @return [NewDemoApiClient::GroupWithUsersResponse]
|
106
|
+
# @example
|
107
|
+
# api = NewDemoApiClient::Client.new(
|
108
|
+
# base_url: "https://api.example.com",
|
109
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
110
|
+
# token: "YOUR_AUTH_TOKEN"
|
111
|
+
# )
|
112
|
+
# api.group.update(group_id: 1)
|
113
|
+
def update(group_id:, name: nil, domain: nil, thumbnail_url: nil, analysis_email: nil, data_api_access: nil,
|
114
|
+
account_manager_id: nil, request_options: nil)
|
115
|
+
response = @request_client.conn.put do |req|
|
116
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
117
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
118
|
+
req.headers = {
|
119
|
+
**(req.headers || {}),
|
120
|
+
**@request_client.get_headers,
|
121
|
+
**(request_options&.additional_headers || {})
|
122
|
+
}.compact
|
123
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
124
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
125
|
+
end
|
126
|
+
req.body = {
|
127
|
+
**(request_options&.additional_body_parameters || {}),
|
128
|
+
name: name,
|
129
|
+
domain: domain,
|
130
|
+
thumbnail_url: thumbnail_url,
|
131
|
+
analysis_email: analysis_email,
|
132
|
+
data_api_access: data_api_access,
|
133
|
+
account_manager_id: account_manager_id
|
134
|
+
}.compact
|
135
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}"
|
136
|
+
end
|
137
|
+
NewDemoApiClient::GroupWithUsersResponse.from_json(json_object: response.body)
|
138
|
+
end
|
139
|
+
|
140
|
+
# Get all users in a group.
|
141
|
+
#
|
142
|
+
# @param group_id [Integer]
|
143
|
+
# @param sort_by [String]
|
144
|
+
# @param sort_order [String]
|
145
|
+
# @param page [Integer]
|
146
|
+
# @param page_size [Integer]
|
147
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
148
|
+
# @return [NewDemoApiClient::PaginatedResponseGroupUser]
|
149
|
+
# @example
|
150
|
+
# api = NewDemoApiClient::Client.new(
|
151
|
+
# base_url: "https://api.example.com",
|
152
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
153
|
+
# token: "YOUR_AUTH_TOKEN"
|
154
|
+
# )
|
155
|
+
# api.group.list_users(group_id: 1)
|
156
|
+
def list_users(group_id:, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
157
|
+
response = @request_client.conn.get do |req|
|
158
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
159
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
160
|
+
req.headers = {
|
161
|
+
**(req.headers || {}),
|
162
|
+
**@request_client.get_headers,
|
163
|
+
**(request_options&.additional_headers || {})
|
164
|
+
}.compact
|
165
|
+
req.params = {
|
166
|
+
**(request_options&.additional_query_parameters || {}),
|
167
|
+
"sort_by": sort_by,
|
168
|
+
"sort_order": sort_order,
|
169
|
+
"page": page,
|
170
|
+
"page_size": page_size
|
171
|
+
}.compact
|
172
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
173
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
174
|
+
end
|
175
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/user/all"
|
176
|
+
end
|
177
|
+
NewDemoApiClient::PaginatedResponseGroupUser.from_json(json_object: response.body)
|
178
|
+
end
|
179
|
+
|
180
|
+
# Get all users in a group.
|
181
|
+
#
|
182
|
+
# @param group_id [Integer]
|
183
|
+
# @param name [String]
|
184
|
+
# @param email [String]
|
185
|
+
# @param sort_by [String]
|
186
|
+
# @param sort_order [String]
|
187
|
+
# @param page [Integer]
|
188
|
+
# @param page_size [Integer]
|
189
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
190
|
+
# @return [NewDemoApiClient::PaginatedResponseGroupUser]
|
191
|
+
# @example
|
192
|
+
# api = NewDemoApiClient::Client.new(
|
193
|
+
# base_url: "https://api.example.com",
|
194
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
195
|
+
# token: "YOUR_AUTH_TOKEN"
|
196
|
+
# )
|
197
|
+
# api.group.search_users(group_id: 1)
|
198
|
+
def search_users(group_id:, name: nil, email: nil, sort_by: nil, sort_order: nil, page: nil, page_size: nil,
|
199
|
+
request_options: nil)
|
200
|
+
response = @request_client.conn.get do |req|
|
201
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
202
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
203
|
+
req.headers = {
|
204
|
+
**(req.headers || {}),
|
205
|
+
**@request_client.get_headers,
|
206
|
+
**(request_options&.additional_headers || {})
|
207
|
+
}.compact
|
208
|
+
req.params = {
|
209
|
+
**(request_options&.additional_query_parameters || {}),
|
210
|
+
"name": name,
|
211
|
+
"email": email,
|
212
|
+
"sort_by": sort_by,
|
213
|
+
"sort_order": sort_order,
|
214
|
+
"page": page,
|
215
|
+
"page_size": page_size
|
216
|
+
}.compact
|
217
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
218
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
219
|
+
end
|
220
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/user/search"
|
221
|
+
end
|
222
|
+
NewDemoApiClient::PaginatedResponseGroupUser.from_json(json_object: response.body)
|
223
|
+
end
|
224
|
+
|
225
|
+
# Upload an avatar for a group.
|
226
|
+
#
|
227
|
+
# @param group_id [Integer]
|
228
|
+
# @param image [String, IO]
|
229
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
230
|
+
# @return [NewDemoApiClient::GroupResponse]
|
231
|
+
# @example
|
232
|
+
# api = NewDemoApiClient::Client.new(
|
233
|
+
# base_url: "https://api.example.com",
|
234
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
235
|
+
# token: "YOUR_AUTH_TOKEN"
|
236
|
+
# )
|
237
|
+
# api.group.upload_group_avatar(group_id: 1, image: my_file.txt)
|
238
|
+
def upload_group_avatar(group_id:, image:, request_options: nil)
|
239
|
+
response = @request_client.conn.post do |req|
|
240
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
241
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
242
|
+
req.headers = {
|
243
|
+
**(req.headers || {}),
|
244
|
+
**@request_client.get_headers,
|
245
|
+
**(request_options&.additional_headers || {})
|
246
|
+
}.compact
|
247
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
248
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
249
|
+
end
|
250
|
+
req.body = {
|
251
|
+
**(request_options&.additional_body_parameters || {}),
|
252
|
+
image: NewDemoApiClient::FileUtilities.as_faraday_multipart(file_like: image)
|
253
|
+
}.compact
|
254
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/avatar"
|
255
|
+
end
|
256
|
+
NewDemoApiClient::GroupResponse.from_json(json_object: response.body)
|
257
|
+
end
|
258
|
+
|
259
|
+
# Add a user role to a group.
|
260
|
+
#
|
261
|
+
# @param user_id [Integer]
|
262
|
+
# @param group_id [Integer]
|
263
|
+
# @param role_id [Integer]
|
264
|
+
# @param role_name [String]
|
265
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
266
|
+
# @return [NewDemoApiClient::UserRoleResponse]
|
267
|
+
# @example
|
268
|
+
# api = NewDemoApiClient::Client.new(
|
269
|
+
# base_url: "https://api.example.com",
|
270
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
271
|
+
# token: "YOUR_AUTH_TOKEN"
|
272
|
+
# )
|
273
|
+
# api.group.create_user_role(user_id: 1, group_id: 1)
|
274
|
+
def create_user_role(user_id:, group_id:, role_id: nil, role_name: nil, request_options: nil)
|
275
|
+
response = @request_client.conn.post do |req|
|
276
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
277
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
278
|
+
req.headers = {
|
279
|
+
**(req.headers || {}),
|
280
|
+
**@request_client.get_headers,
|
281
|
+
**(request_options&.additional_headers || {})
|
282
|
+
}.compact
|
283
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
284
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
285
|
+
end
|
286
|
+
req.body = {
|
287
|
+
**(request_options&.additional_body_parameters || {}),
|
288
|
+
role_id: role_id,
|
289
|
+
role_name: role_name
|
290
|
+
}.compact
|
291
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{user_id}/user/#{group_id}"
|
292
|
+
end
|
293
|
+
NewDemoApiClient::UserRoleResponse.from_json(json_object: response.body)
|
294
|
+
end
|
295
|
+
|
296
|
+
# Update the roles of a user in a group.
|
297
|
+
#
|
298
|
+
# @param user_id [Integer]
|
299
|
+
# @param group_id [Integer]
|
300
|
+
# @param role_ids [Array<Integer>]
|
301
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
302
|
+
# @return [NewDemoApiClient::UserRoleResponse]
|
303
|
+
# @example
|
304
|
+
# api = NewDemoApiClient::Client.new(
|
305
|
+
# base_url: "https://api.example.com",
|
306
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
307
|
+
# token: "YOUR_AUTH_TOKEN"
|
308
|
+
# )
|
309
|
+
# api.group.update_user_roles(
|
310
|
+
# user_id: 1,
|
311
|
+
# group_id: 1,
|
312
|
+
# role_ids: [1]
|
313
|
+
# )
|
314
|
+
def update_user_roles(user_id:, group_id:, role_ids:, request_options: nil)
|
315
|
+
response = @request_client.conn.put do |req|
|
316
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
317
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
318
|
+
req.headers = {
|
319
|
+
**(req.headers || {}),
|
320
|
+
**@request_client.get_headers,
|
321
|
+
**(request_options&.additional_headers || {})
|
322
|
+
}.compact
|
323
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
324
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
325
|
+
end
|
326
|
+
req.body = { **(request_options&.additional_body_parameters || {}), role_ids: role_ids }.compact
|
327
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{user_id}/user/#{group_id}"
|
328
|
+
end
|
329
|
+
NewDemoApiClient::UserRoleResponse.from_json(json_object: response.body)
|
330
|
+
end
|
331
|
+
|
332
|
+
# Remove a user from a group.
|
333
|
+
#
|
334
|
+
# @param user_id [Integer]
|
335
|
+
# @param group_id [Integer]
|
336
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
337
|
+
# @return [NewDemoApiClient::UserRoleResponse]
|
338
|
+
# @example
|
339
|
+
# api = NewDemoApiClient::Client.new(
|
340
|
+
# base_url: "https://api.example.com",
|
341
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
342
|
+
# token: "YOUR_AUTH_TOKEN"
|
343
|
+
# )
|
344
|
+
# api.group.remove_user(user_id: 1, group_id: 1)
|
345
|
+
def remove_user(user_id:, group_id:, request_options: nil)
|
346
|
+
response = @request_client.conn.delete do |req|
|
347
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
348
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
349
|
+
req.headers = {
|
350
|
+
**(req.headers || {}),
|
351
|
+
**@request_client.get_headers,
|
352
|
+
**(request_options&.additional_headers || {})
|
353
|
+
}.compact
|
354
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
355
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
356
|
+
end
|
357
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
358
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
359
|
+
end
|
360
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{user_id}/user/#{group_id}"
|
361
|
+
end
|
362
|
+
NewDemoApiClient::UserRoleResponse.from_json(json_object: response.body)
|
363
|
+
end
|
364
|
+
end
|
365
|
+
|
366
|
+
class AsyncGroupClient
|
367
|
+
# @return [NewDemoApiClient::AsyncRequestClient]
|
368
|
+
attr_reader :request_client
|
369
|
+
|
370
|
+
# @param request_client [NewDemoApiClient::AsyncRequestClient]
|
371
|
+
# @return [NewDemoApiClient::AsyncGroupClient]
|
372
|
+
def initialize(request_client:)
|
373
|
+
@request_client = request_client
|
374
|
+
end
|
375
|
+
|
376
|
+
# Lookup a group by its domain.
|
377
|
+
#
|
378
|
+
# @param domain [String]
|
379
|
+
# @param sort_by [String]
|
380
|
+
# @param sort_order [String]
|
381
|
+
# @param page [Integer]
|
382
|
+
# @param page_size [Integer]
|
383
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
384
|
+
# @return [NewDemoApiClient::GroupWithUsersResponse]
|
385
|
+
# @example
|
386
|
+
# api = NewDemoApiClient::Client.new(
|
387
|
+
# base_url: "https://api.example.com",
|
388
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
389
|
+
# token: "YOUR_AUTH_TOKEN"
|
390
|
+
# )
|
391
|
+
# api.group.get_by_domain(domain: "domain")
|
392
|
+
def get_by_domain(domain:, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
393
|
+
Async do
|
394
|
+
response = @request_client.conn.get do |req|
|
395
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
396
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
397
|
+
req.headers = {
|
398
|
+
**(req.headers || {}),
|
399
|
+
**@request_client.get_headers,
|
400
|
+
**(request_options&.additional_headers || {})
|
401
|
+
}.compact
|
402
|
+
req.params = {
|
403
|
+
**(request_options&.additional_query_parameters || {}),
|
404
|
+
"domain": domain,
|
405
|
+
"sort_by": sort_by,
|
406
|
+
"sort_order": sort_order,
|
407
|
+
"page": page,
|
408
|
+
"page_size": page_size
|
409
|
+
}.compact
|
410
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
411
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
412
|
+
end
|
413
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group"
|
414
|
+
end
|
415
|
+
NewDemoApiClient::GroupWithUsersResponse.from_json(json_object: response.body)
|
416
|
+
end
|
417
|
+
end
|
418
|
+
|
419
|
+
# Get a group by its ID.
|
420
|
+
#
|
421
|
+
# @param group_id [Integer]
|
422
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
423
|
+
# @return [NewDemoApiClient::GroupWithUsersResponse]
|
424
|
+
# @example
|
425
|
+
# api = NewDemoApiClient::Client.new(
|
426
|
+
# base_url: "https://api.example.com",
|
427
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
428
|
+
# token: "YOUR_AUTH_TOKEN"
|
429
|
+
# )
|
430
|
+
# api.group.get(group_id: 1)
|
431
|
+
def get(group_id:, request_options: nil)
|
432
|
+
Async do
|
433
|
+
response = @request_client.conn.get do |req|
|
434
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
435
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
436
|
+
req.headers = {
|
437
|
+
**(req.headers || {}),
|
438
|
+
**@request_client.get_headers,
|
439
|
+
**(request_options&.additional_headers || {})
|
440
|
+
}.compact
|
441
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
442
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
443
|
+
end
|
444
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
445
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
446
|
+
end
|
447
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}"
|
448
|
+
end
|
449
|
+
NewDemoApiClient::GroupWithUsersResponse.from_json(json_object: response.body)
|
450
|
+
end
|
451
|
+
end
|
452
|
+
|
453
|
+
# Update a group.
|
454
|
+
#
|
455
|
+
# @param group_id [Integer]
|
456
|
+
# @param name [String]
|
457
|
+
# @param domain [String]
|
458
|
+
# @param thumbnail_url [String] The thumbnail URL of the group
|
459
|
+
# @param analysis_email [String] The email address for analysis to be sent to
|
460
|
+
# @param data_api_access [Boolean] Whether the group has access to the data API
|
461
|
+
# @param account_manager_id [Integer]
|
462
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
463
|
+
# @return [NewDemoApiClient::GroupWithUsersResponse]
|
464
|
+
# @example
|
465
|
+
# api = NewDemoApiClient::Client.new(
|
466
|
+
# base_url: "https://api.example.com",
|
467
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
468
|
+
# token: "YOUR_AUTH_TOKEN"
|
469
|
+
# )
|
470
|
+
# api.group.update(group_id: 1)
|
471
|
+
def update(group_id:, name: nil, domain: nil, thumbnail_url: nil, analysis_email: nil, data_api_access: nil,
|
472
|
+
account_manager_id: nil, request_options: nil)
|
473
|
+
Async do
|
474
|
+
response = @request_client.conn.put do |req|
|
475
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
476
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
477
|
+
req.headers = {
|
478
|
+
**(req.headers || {}),
|
479
|
+
**@request_client.get_headers,
|
480
|
+
**(request_options&.additional_headers || {})
|
481
|
+
}.compact
|
482
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
483
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
484
|
+
end
|
485
|
+
req.body = {
|
486
|
+
**(request_options&.additional_body_parameters || {}),
|
487
|
+
name: name,
|
488
|
+
domain: domain,
|
489
|
+
thumbnail_url: thumbnail_url,
|
490
|
+
analysis_email: analysis_email,
|
491
|
+
data_api_access: data_api_access,
|
492
|
+
account_manager_id: account_manager_id
|
493
|
+
}.compact
|
494
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}"
|
495
|
+
end
|
496
|
+
NewDemoApiClient::GroupWithUsersResponse.from_json(json_object: response.body)
|
497
|
+
end
|
498
|
+
end
|
499
|
+
|
500
|
+
# Get all users in a group.
|
501
|
+
#
|
502
|
+
# @param group_id [Integer]
|
503
|
+
# @param sort_by [String]
|
504
|
+
# @param sort_order [String]
|
505
|
+
# @param page [Integer]
|
506
|
+
# @param page_size [Integer]
|
507
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
508
|
+
# @return [NewDemoApiClient::PaginatedResponseGroupUser]
|
509
|
+
# @example
|
510
|
+
# api = NewDemoApiClient::Client.new(
|
511
|
+
# base_url: "https://api.example.com",
|
512
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
513
|
+
# token: "YOUR_AUTH_TOKEN"
|
514
|
+
# )
|
515
|
+
# api.group.list_users(group_id: 1)
|
516
|
+
def list_users(group_id:, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
517
|
+
Async do
|
518
|
+
response = @request_client.conn.get do |req|
|
519
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
520
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
521
|
+
req.headers = {
|
522
|
+
**(req.headers || {}),
|
523
|
+
**@request_client.get_headers,
|
524
|
+
**(request_options&.additional_headers || {})
|
525
|
+
}.compact
|
526
|
+
req.params = {
|
527
|
+
**(request_options&.additional_query_parameters || {}),
|
528
|
+
"sort_by": sort_by,
|
529
|
+
"sort_order": sort_order,
|
530
|
+
"page": page,
|
531
|
+
"page_size": page_size
|
532
|
+
}.compact
|
533
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
534
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
535
|
+
end
|
536
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/user/all"
|
537
|
+
end
|
538
|
+
NewDemoApiClient::PaginatedResponseGroupUser.from_json(json_object: response.body)
|
539
|
+
end
|
540
|
+
end
|
541
|
+
|
542
|
+
# Get all users in a group.
|
543
|
+
#
|
544
|
+
# @param group_id [Integer]
|
545
|
+
# @param name [String]
|
546
|
+
# @param email [String]
|
547
|
+
# @param sort_by [String]
|
548
|
+
# @param sort_order [String]
|
549
|
+
# @param page [Integer]
|
550
|
+
# @param page_size [Integer]
|
551
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
552
|
+
# @return [NewDemoApiClient::PaginatedResponseGroupUser]
|
553
|
+
# @example
|
554
|
+
# api = NewDemoApiClient::Client.new(
|
555
|
+
# base_url: "https://api.example.com",
|
556
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
557
|
+
# token: "YOUR_AUTH_TOKEN"
|
558
|
+
# )
|
559
|
+
# api.group.search_users(group_id: 1)
|
560
|
+
def search_users(group_id:, name: nil, email: nil, sort_by: nil, sort_order: nil, page: nil, page_size: nil,
|
561
|
+
request_options: nil)
|
562
|
+
Async do
|
563
|
+
response = @request_client.conn.get do |req|
|
564
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
565
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
566
|
+
req.headers = {
|
567
|
+
**(req.headers || {}),
|
568
|
+
**@request_client.get_headers,
|
569
|
+
**(request_options&.additional_headers || {})
|
570
|
+
}.compact
|
571
|
+
req.params = {
|
572
|
+
**(request_options&.additional_query_parameters || {}),
|
573
|
+
"name": name,
|
574
|
+
"email": email,
|
575
|
+
"sort_by": sort_by,
|
576
|
+
"sort_order": sort_order,
|
577
|
+
"page": page,
|
578
|
+
"page_size": page_size
|
579
|
+
}.compact
|
580
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
581
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
582
|
+
end
|
583
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/user/search"
|
584
|
+
end
|
585
|
+
NewDemoApiClient::PaginatedResponseGroupUser.from_json(json_object: response.body)
|
586
|
+
end
|
587
|
+
end
|
588
|
+
|
589
|
+
# Upload an avatar for a group.
|
590
|
+
#
|
591
|
+
# @param group_id [Integer]
|
592
|
+
# @param image [String, IO]
|
593
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
594
|
+
# @return [NewDemoApiClient::GroupResponse]
|
595
|
+
# @example
|
596
|
+
# api = NewDemoApiClient::Client.new(
|
597
|
+
# base_url: "https://api.example.com",
|
598
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
599
|
+
# token: "YOUR_AUTH_TOKEN"
|
600
|
+
# )
|
601
|
+
# api.group.upload_group_avatar(group_id: 1, image: my_file.txt)
|
602
|
+
def upload_group_avatar(group_id:, image:, request_options: nil)
|
603
|
+
Async do
|
604
|
+
response = @request_client.conn.post do |req|
|
605
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
606
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
607
|
+
req.headers = {
|
608
|
+
**(req.headers || {}),
|
609
|
+
**@request_client.get_headers,
|
610
|
+
**(request_options&.additional_headers || {})
|
611
|
+
}.compact
|
612
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
613
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
614
|
+
end
|
615
|
+
req.body = {
|
616
|
+
**(request_options&.additional_body_parameters || {}),
|
617
|
+
image: NewDemoApiClient::FileUtilities.as_faraday_multipart(file_like: image)
|
618
|
+
}.compact
|
619
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/avatar"
|
620
|
+
end
|
621
|
+
NewDemoApiClient::GroupResponse.from_json(json_object: response.body)
|
622
|
+
end
|
623
|
+
end
|
624
|
+
|
625
|
+
# Add a user role to a group.
|
626
|
+
#
|
627
|
+
# @param user_id [Integer]
|
628
|
+
# @param group_id [Integer]
|
629
|
+
# @param role_id [Integer]
|
630
|
+
# @param role_name [String]
|
631
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
632
|
+
# @return [NewDemoApiClient::UserRoleResponse]
|
633
|
+
# @example
|
634
|
+
# api = NewDemoApiClient::Client.new(
|
635
|
+
# base_url: "https://api.example.com",
|
636
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
637
|
+
# token: "YOUR_AUTH_TOKEN"
|
638
|
+
# )
|
639
|
+
# api.group.create_user_role(user_id: 1, group_id: 1)
|
640
|
+
def create_user_role(user_id:, group_id:, role_id: nil, role_name: nil, request_options: nil)
|
641
|
+
Async do
|
642
|
+
response = @request_client.conn.post do |req|
|
643
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
644
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
645
|
+
req.headers = {
|
646
|
+
**(req.headers || {}),
|
647
|
+
**@request_client.get_headers,
|
648
|
+
**(request_options&.additional_headers || {})
|
649
|
+
}.compact
|
650
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
651
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
652
|
+
end
|
653
|
+
req.body = {
|
654
|
+
**(request_options&.additional_body_parameters || {}),
|
655
|
+
role_id: role_id,
|
656
|
+
role_name: role_name
|
657
|
+
}.compact
|
658
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{user_id}/user/#{group_id}"
|
659
|
+
end
|
660
|
+
NewDemoApiClient::UserRoleResponse.from_json(json_object: response.body)
|
661
|
+
end
|
662
|
+
end
|
663
|
+
|
664
|
+
# Update the roles of a user in a group.
|
665
|
+
#
|
666
|
+
# @param user_id [Integer]
|
667
|
+
# @param group_id [Integer]
|
668
|
+
# @param role_ids [Array<Integer>]
|
669
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
670
|
+
# @return [NewDemoApiClient::UserRoleResponse]
|
671
|
+
# @example
|
672
|
+
# api = NewDemoApiClient::Client.new(
|
673
|
+
# base_url: "https://api.example.com",
|
674
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
675
|
+
# token: "YOUR_AUTH_TOKEN"
|
676
|
+
# )
|
677
|
+
# api.group.update_user_roles(
|
678
|
+
# user_id: 1,
|
679
|
+
# group_id: 1,
|
680
|
+
# role_ids: [1]
|
681
|
+
# )
|
682
|
+
def update_user_roles(user_id:, group_id:, role_ids:, request_options: nil)
|
683
|
+
Async do
|
684
|
+
response = @request_client.conn.put do |req|
|
685
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
686
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
687
|
+
req.headers = {
|
688
|
+
**(req.headers || {}),
|
689
|
+
**@request_client.get_headers,
|
690
|
+
**(request_options&.additional_headers || {})
|
691
|
+
}.compact
|
692
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
693
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
694
|
+
end
|
695
|
+
req.body = { **(request_options&.additional_body_parameters || {}), role_ids: role_ids }.compact
|
696
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{user_id}/user/#{group_id}"
|
697
|
+
end
|
698
|
+
NewDemoApiClient::UserRoleResponse.from_json(json_object: response.body)
|
699
|
+
end
|
700
|
+
end
|
701
|
+
|
702
|
+
# Remove a user from a group.
|
703
|
+
#
|
704
|
+
# @param user_id [Integer]
|
705
|
+
# @param group_id [Integer]
|
706
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
707
|
+
# @return [NewDemoApiClient::UserRoleResponse]
|
708
|
+
# @example
|
709
|
+
# api = NewDemoApiClient::Client.new(
|
710
|
+
# base_url: "https://api.example.com",
|
711
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
712
|
+
# token: "YOUR_AUTH_TOKEN"
|
713
|
+
# )
|
714
|
+
# api.group.remove_user(user_id: 1, group_id: 1)
|
715
|
+
def remove_user(user_id:, group_id:, request_options: nil)
|
716
|
+
Async do
|
717
|
+
response = @request_client.conn.delete do |req|
|
718
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
719
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
720
|
+
req.headers = {
|
721
|
+
**(req.headers || {}),
|
722
|
+
**@request_client.get_headers,
|
723
|
+
**(request_options&.additional_headers || {})
|
724
|
+
}.compact
|
725
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
726
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
727
|
+
end
|
728
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
729
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
730
|
+
end
|
731
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{user_id}/user/#{group_id}"
|
732
|
+
end
|
733
|
+
NewDemoApiClient::UserRoleResponse.from_json(json_object: response.body)
|
734
|
+
end
|
735
|
+
end
|
736
|
+
end
|
737
|
+
end
|