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.
Files changed (95) hide show
  1. checksums.yaml +7 -0
  2. data/lib/core/file_utilities.rb +26 -0
  3. data/lib/environment.rb +7 -0
  4. data/lib/gemconfig.rb +14 -0
  5. data/lib/requests.rb +166 -0
  6. data/lib/test_sdk/benchmark/client.rb +1031 -0
  7. data/lib/test_sdk/company/client.rb +474 -0
  8. data/lib/test_sdk/deal/client.rb +584 -0
  9. data/lib/test_sdk/file/client.rb +692 -0
  10. data/lib/test_sdk/financials/client.rb +97 -0
  11. data/lib/test_sdk/group/client.rb +737 -0
  12. data/lib/test_sdk/macro/client.rb +422 -0
  13. data/lib/test_sdk/metadata/client.rb +95 -0
  14. data/lib/test_sdk/product/client.rb +419 -0
  15. data/lib/test_sdk/talent/client.rb +266 -0
  16. data/lib/test_sdk/types/account_manager_response.rb +74 -0
  17. data/lib/test_sdk/types/all_data_metadata_response.rb +68 -0
  18. data/lib/test_sdk/types/area.rb +74 -0
  19. data/lib/test_sdk/types/authenticate_api_key_response.rb +55 -0
  20. data/lib/test_sdk/types/available_categories_response.rb +5 -0
  21. data/lib/test_sdk/types/available_models_response.rb +69 -0
  22. data/lib/test_sdk/types/band_response.rb +83 -0
  23. data/lib/test_sdk/types/benchmark_quantile.rb +465 -0
  24. data/lib/test_sdk/types/categories_metadata_response.rb +72 -0
  25. data/lib/test_sdk/types/category_growth_rates.rb +143 -0
  26. data/lib/test_sdk/types/category_metadata.rb +79 -0
  27. data/lib/test_sdk/types/category_metadata_default_user_type.rb +8 -0
  28. data/lib/test_sdk/types/cohorts_response.rb +132 -0
  29. data/lib/test_sdk/types/column_metadata.rb +110 -0
  30. data/lib/test_sdk/types/column_mini_metadata.rb +83 -0
  31. data/lib/test_sdk/types/columns_metadata_response.rb +72 -0
  32. data/lib/test_sdk/types/company_response.rb +120 -0
  33. data/lib/test_sdk/types/concentration_endpoint_cdf_detail.rb +96 -0
  34. data/lib/test_sdk/types/concentration_endpoint_top_users_detail.rb +72 -0
  35. data/lib/test_sdk/types/concentration_response.rb +103 -0
  36. data/lib/test_sdk/types/concentration_timeseries_detail.rb +159 -0
  37. data/lib/test_sdk/types/contribution_response.rb +135 -0
  38. data/lib/test_sdk/types/create_api_key_response.rb +55 -0
  39. data/lib/test_sdk/types/create_file_for_signed_url_response.rb +127 -0
  40. data/lib/test_sdk/types/create_file_response.rb +113 -0
  41. data/lib/test_sdk/types/deal_combined_metrics_response.rb +477 -0
  42. data/lib/test_sdk/types/deal_data_availablity_response.rb +109 -0
  43. data/lib/test_sdk/types/deal_with_files_response.rb +194 -0
  44. data/lib/test_sdk/types/endpoint_seniority_count.rb +66 -0
  45. data/lib/test_sdk/types/executive_profile.rb +91 -0
  46. data/lib/test_sdk/types/executive_profile_position.rb +97 -0
  47. data/lib/test_sdk/types/file_response.rb +113 -0
  48. data/lib/test_sdk/types/file_type.rb +14 -0
  49. data/lib/test_sdk/types/financial_metrics.rb +113 -0
  50. data/lib/test_sdk/types/financials_response.rb +102 -0
  51. data/lib/test_sdk/types/frequency.rb +9 -0
  52. data/lib/test_sdk/types/function_level_growth_accounting.rb +111 -0
  53. data/lib/test_sdk/types/gcs_signed_url_response.rb +81 -0
  54. data/lib/test_sdk/types/group_response.rb +158 -0
  55. data/lib/test_sdk/types/group_user.rb +124 -0
  56. data/lib/test_sdk/types/group_with_users_response.rb +170 -0
  57. data/lib/test_sdk/types/growth_accounting_response.rb +226 -0
  58. data/lib/test_sdk/types/healthz_response.rb +55 -0
  59. data/lib/test_sdk/types/http_validation_error.rb +61 -0
  60. data/lib/test_sdk/types/income_statement_entry.rb +81 -0
  61. data/lib/test_sdk/types/model_metadata.rb +76 -0
  62. data/lib/test_sdk/types/models_metadata_response.rb +76 -0
  63. data/lib/test_sdk/types/paginated_response_company_response.rb +83 -0
  64. data/lib/test_sdk/types/paginated_response_deal_with_files_response.rb +84 -0
  65. data/lib/test_sdk/types/paginated_response_file_response.rb +83 -0
  66. data/lib/test_sdk/types/paginated_response_group_user.rb +83 -0
  67. data/lib/test_sdk/types/permission_model.rb +65 -0
  68. data/lib/test_sdk/types/priority.rb +10 -0
  69. data/lib/test_sdk/types/product_info_response.rb +65 -0
  70. data/lib/test_sdk/types/role_response.rb +95 -0
  71. data/lib/test_sdk/types/scale.rb +72 -0
  72. data/lib/test_sdk/types/scale_model.rb +80 -0
  73. data/lib/test_sdk/types/scale_models_response.rb +5 -0
  74. data/lib/test_sdk/types/scaling.rb +10 -0
  75. data/lib/test_sdk/types/status.rb +12 -0
  76. data/lib/test_sdk/types/tradeoff_model.rb +95 -0
  77. data/lib/test_sdk/types/tradeoff_models_response.rb +5 -0
  78. data/lib/test_sdk/types/unit.rb +12 -0
  79. data/lib/test_sdk/types/unit_economics_info_response.rb +55 -0
  80. data/lib/test_sdk/types/user_accounting_response.rb +168 -0
  81. data/lib/test_sdk/types/user_role_response.rb +77 -0
  82. data/lib/test_sdk/types/user_type.rb +12 -0
  83. data/lib/test_sdk/types/user_with_groups_response.rb +140 -0
  84. data/lib/test_sdk/types/user_with_permissions_response.rb +153 -0
  85. data/lib/test_sdk/types/validation_error.rb +76 -0
  86. data/lib/test_sdk/types/validation_error_loc_item.rb +52 -0
  87. data/lib/test_sdk/types/weather_components.rb +123 -0
  88. data/lib/test_sdk/types/weather_gauge.rb +76 -0
  89. data/lib/test_sdk/types/weather_market_context.rb +109 -0
  90. data/lib/test_sdk/types/weather_metadata.rb +113 -0
  91. data/lib/test_sdk/unit_economics/client.rb +124 -0
  92. data/lib/test_sdk/user/client.rb +363 -0
  93. data/lib/test_sdk.rb +190 -0
  94. data/lib/types_export.rb +77 -0
  95. metadata +251 -0
@@ -0,0 +1,363 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "../types/authenticate_api_key_response"
5
+ require_relative "../types/user_with_permissions_response"
6
+ require_relative "../types/user_with_groups_response"
7
+ require_relative "../../core/file_utilities"
8
+ require_relative "../types/create_api_key_response"
9
+ require "json"
10
+ require "async"
11
+
12
+ module NewDemoApiClient
13
+ class UserClient
14
+ # @return [NewDemoApiClient::RequestClient]
15
+ attr_reader :request_client
16
+
17
+ # @param request_client [NewDemoApiClient::RequestClient]
18
+ # @return [NewDemoApiClient::UserClient]
19
+ def initialize(request_client:)
20
+ @request_client = request_client
21
+ end
22
+
23
+ # Authenticate an API key and return an access token
24
+ # Returns a client JWT for the provided API key, where the JWT contains claims for
25
+ # permissions and access and can be
26
+ # refreshed as part of an OAuth flow.
27
+ #
28
+ # @param api_key [String]
29
+ # @param request_options [NewDemoApiClient::RequestOptions]
30
+ # @return [NewDemoApiClient::AuthenticateAPIKeyResponse]
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.user.get_token(api_key: "api_key")
38
+ def get_token(api_key:, request_options: nil)
39
+ response = @request_client.conn.post 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
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
48
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
49
+ end
50
+ req.body = { **(request_options&.additional_body_parameters || {}), api_key: api_key }.compact
51
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/auth/get-token"
52
+ end
53
+ NewDemoApiClient::AuthenticateAPIKeyResponse.from_json(json_object: response.body)
54
+ end
55
+
56
+ # Get the current user.
57
+ #
58
+ # @param request_options [NewDemoApiClient::RequestOptions]
59
+ # @return [NewDemoApiClient::UserWithPermissionsResponse]
60
+ # @example
61
+ # api = NewDemoApiClient::Client.new(
62
+ # base_url: "https://api.example.com",
63
+ # environment: NewDemoApiClient::Environment::DEFAULT,
64
+ # token: "YOUR_AUTH_TOKEN"
65
+ # )
66
+ # api.user.me
67
+ def me(request_options: nil)
68
+ response = @request_client.conn.get do |req|
69
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
70
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
71
+ req.headers = {
72
+ **(req.headers || {}),
73
+ **@request_client.get_headers,
74
+ **(request_options&.additional_headers || {})
75
+ }.compact
76
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
77
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
78
+ end
79
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
80
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
81
+ end
82
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/me"
83
+ end
84
+ NewDemoApiClient::UserWithPermissionsResponse.from_json(json_object: response.body)
85
+ end
86
+
87
+ # Upload an avatar for a user.
88
+ #
89
+ # @param image [String, IO]
90
+ # @param request_options [NewDemoApiClient::RequestOptions]
91
+ # @return [NewDemoApiClient::UserWithGroupsResponse]
92
+ # @example
93
+ # api = NewDemoApiClient::Client.new(
94
+ # base_url: "https://api.example.com",
95
+ # environment: NewDemoApiClient::Environment::DEFAULT,
96
+ # token: "YOUR_AUTH_TOKEN"
97
+ # )
98
+ # api.user.upload_user_avatar(image: my_file.txt)
99
+ def upload_user_avatar(image:, request_options: nil)
100
+ response = @request_client.conn.post do |req|
101
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
102
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
103
+ req.headers = {
104
+ **(req.headers || {}),
105
+ **@request_client.get_headers,
106
+ **(request_options&.additional_headers || {})
107
+ }.compact
108
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
109
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
110
+ end
111
+ req.body = {
112
+ **(request_options&.additional_body_parameters || {}),
113
+ image: NewDemoApiClient::FileUtilities.as_faraday_multipart(file_like: image)
114
+ }.compact
115
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/me/avatar"
116
+ end
117
+ NewDemoApiClient::UserWithGroupsResponse.from_json(json_object: response.body)
118
+ end
119
+
120
+ # Create or replace an API key for the current user.
121
+ #
122
+ # @param request_options [NewDemoApiClient::RequestOptions]
123
+ # @return [NewDemoApiClient::CreateAPIKeyResponse]
124
+ # @example
125
+ # api = NewDemoApiClient::Client.new(
126
+ # base_url: "https://api.example.com",
127
+ # environment: NewDemoApiClient::Environment::DEFAULT,
128
+ # token: "YOUR_AUTH_TOKEN"
129
+ # )
130
+ # api.user.create_or_replace_api_key
131
+ def create_or_replace_api_key(request_options: nil)
132
+ response = @request_client.conn.put do |req|
133
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
134
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
135
+ req.headers = {
136
+ **(req.headers || {}),
137
+ **@request_client.get_headers,
138
+ **(request_options&.additional_headers || {})
139
+ }.compact
140
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
141
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
142
+ end
143
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
144
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
145
+ end
146
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/api-key"
147
+ end
148
+ NewDemoApiClient::CreateAPIKeyResponse.from_json(json_object: response.body)
149
+ end
150
+
151
+ # Delete an API key for the current user.
152
+ #
153
+ # @param request_options [NewDemoApiClient::RequestOptions]
154
+ # @return [Hash{String => Object}]
155
+ # @example
156
+ # api = NewDemoApiClient::Client.new(
157
+ # base_url: "https://api.example.com",
158
+ # environment: NewDemoApiClient::Environment::DEFAULT,
159
+ # token: "YOUR_AUTH_TOKEN"
160
+ # )
161
+ # api.user.delete_api_key
162
+ def delete_api_key(request_options: nil)
163
+ response = @request_client.conn.delete do |req|
164
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
165
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
166
+ req.headers = {
167
+ **(req.headers || {}),
168
+ **@request_client.get_headers,
169
+ **(request_options&.additional_headers || {})
170
+ }.compact
171
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
172
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
173
+ end
174
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
175
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
176
+ end
177
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/api-key"
178
+ end
179
+ JSON.parse(response.body)
180
+ end
181
+ end
182
+
183
+ class AsyncUserClient
184
+ # @return [NewDemoApiClient::AsyncRequestClient]
185
+ attr_reader :request_client
186
+
187
+ # @param request_client [NewDemoApiClient::AsyncRequestClient]
188
+ # @return [NewDemoApiClient::AsyncUserClient]
189
+ def initialize(request_client:)
190
+ @request_client = request_client
191
+ end
192
+
193
+ # Authenticate an API key and return an access token
194
+ # Returns a client JWT for the provided API key, where the JWT contains claims for
195
+ # permissions and access and can be
196
+ # refreshed as part of an OAuth flow.
197
+ #
198
+ # @param api_key [String]
199
+ # @param request_options [NewDemoApiClient::RequestOptions]
200
+ # @return [NewDemoApiClient::AuthenticateAPIKeyResponse]
201
+ # @example
202
+ # api = NewDemoApiClient::Client.new(
203
+ # base_url: "https://api.example.com",
204
+ # environment: NewDemoApiClient::Environment::DEFAULT,
205
+ # token: "YOUR_AUTH_TOKEN"
206
+ # )
207
+ # api.user.get_token(api_key: "api_key")
208
+ def get_token(api_key:, request_options: nil)
209
+ Async do
210
+ response = @request_client.conn.post do |req|
211
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
212
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
213
+ req.headers = {
214
+ **(req.headers || {}),
215
+ **@request_client.get_headers,
216
+ **(request_options&.additional_headers || {})
217
+ }.compact
218
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
219
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
220
+ end
221
+ req.body = { **(request_options&.additional_body_parameters || {}), api_key: api_key }.compact
222
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/auth/get-token"
223
+ end
224
+ NewDemoApiClient::AuthenticateAPIKeyResponse.from_json(json_object: response.body)
225
+ end
226
+ end
227
+
228
+ # Get the current user.
229
+ #
230
+ # @param request_options [NewDemoApiClient::RequestOptions]
231
+ # @return [NewDemoApiClient::UserWithPermissionsResponse]
232
+ # @example
233
+ # api = NewDemoApiClient::Client.new(
234
+ # base_url: "https://api.example.com",
235
+ # environment: NewDemoApiClient::Environment::DEFAULT,
236
+ # token: "YOUR_AUTH_TOKEN"
237
+ # )
238
+ # api.user.me
239
+ def me(request_options: nil)
240
+ Async do
241
+ response = @request_client.conn.get do |req|
242
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
243
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
244
+ req.headers = {
245
+ **(req.headers || {}),
246
+ **@request_client.get_headers,
247
+ **(request_options&.additional_headers || {})
248
+ }.compact
249
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
250
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
251
+ end
252
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
253
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
254
+ end
255
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/me"
256
+ end
257
+ NewDemoApiClient::UserWithPermissionsResponse.from_json(json_object: response.body)
258
+ end
259
+ end
260
+
261
+ # Upload an avatar for a user.
262
+ #
263
+ # @param image [String, IO]
264
+ # @param request_options [NewDemoApiClient::RequestOptions]
265
+ # @return [NewDemoApiClient::UserWithGroupsResponse]
266
+ # @example
267
+ # api = NewDemoApiClient::Client.new(
268
+ # base_url: "https://api.example.com",
269
+ # environment: NewDemoApiClient::Environment::DEFAULT,
270
+ # token: "YOUR_AUTH_TOKEN"
271
+ # )
272
+ # api.user.upload_user_avatar(image: my_file.txt)
273
+ def upload_user_avatar(image:, request_options: nil)
274
+ Async do
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
+ image: NewDemoApiClient::FileUtilities.as_faraday_multipart(file_like: image)
289
+ }.compact
290
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/me/avatar"
291
+ end
292
+ NewDemoApiClient::UserWithGroupsResponse.from_json(json_object: response.body)
293
+ end
294
+ end
295
+
296
+ # Create or replace an API key for the current user.
297
+ #
298
+ # @param request_options [NewDemoApiClient::RequestOptions]
299
+ # @return [NewDemoApiClient::CreateAPIKeyResponse]
300
+ # @example
301
+ # api = NewDemoApiClient::Client.new(
302
+ # base_url: "https://api.example.com",
303
+ # environment: NewDemoApiClient::Environment::DEFAULT,
304
+ # token: "YOUR_AUTH_TOKEN"
305
+ # )
306
+ # api.user.create_or_replace_api_key
307
+ def create_or_replace_api_key(request_options: nil)
308
+ Async do
309
+ response = @request_client.conn.put do |req|
310
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
311
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
312
+ req.headers = {
313
+ **(req.headers || {}),
314
+ **@request_client.get_headers,
315
+ **(request_options&.additional_headers || {})
316
+ }.compact
317
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
318
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
319
+ end
320
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
321
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
322
+ end
323
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/api-key"
324
+ end
325
+ NewDemoApiClient::CreateAPIKeyResponse.from_json(json_object: response.body)
326
+ end
327
+ end
328
+
329
+ # Delete an API key for the current user.
330
+ #
331
+ # @param request_options [NewDemoApiClient::RequestOptions]
332
+ # @return [Hash{String => Object}]
333
+ # @example
334
+ # api = NewDemoApiClient::Client.new(
335
+ # base_url: "https://api.example.com",
336
+ # environment: NewDemoApiClient::Environment::DEFAULT,
337
+ # token: "YOUR_AUTH_TOKEN"
338
+ # )
339
+ # api.user.delete_api_key
340
+ def delete_api_key(request_options: nil)
341
+ Async do
342
+ response = @request_client.conn.delete do |req|
343
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
344
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
345
+ req.headers = {
346
+ **(req.headers || {}),
347
+ **@request_client.get_headers,
348
+ **(request_options&.additional_headers || {})
349
+ }.compact
350
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
351
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
352
+ end
353
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
354
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
355
+ end
356
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/user/api-key"
357
+ end
358
+ parsed_json = JSON.parse(response.body)
359
+ parsed_json
360
+ end
361
+ end
362
+ end
363
+ end
data/lib/test_sdk.rb ADDED
@@ -0,0 +1,190 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "environment"
4
+ require_relative "types_export"
5
+ require_relative "requests"
6
+ require_relative "test_sdk/user/client"
7
+ require_relative "test_sdk/group/client"
8
+ require_relative "test_sdk/macro/client"
9
+ require_relative "test_sdk/company/client"
10
+ require_relative "test_sdk/deal/client"
11
+ require_relative "test_sdk/file/client"
12
+ require_relative "test_sdk/financials/client"
13
+ require_relative "test_sdk/product/client"
14
+ require_relative "test_sdk/talent/client"
15
+ require_relative "test_sdk/unit_economics/client"
16
+ require_relative "test_sdk/metadata/client"
17
+ require_relative "test_sdk/benchmark/client"
18
+ require_relative "test_sdk/types/healthz_response"
19
+
20
+ module NewDemoApiClient
21
+ class Client
22
+ # @return [NewDemoApiClient::UserClient]
23
+ attr_reader :user
24
+ # @return [NewDemoApiClient::GroupClient]
25
+ attr_reader :group
26
+ # @return [NewDemoApiClient::MacroClient]
27
+ attr_reader :macro
28
+ # @return [NewDemoApiClient::CompanyClient]
29
+ attr_reader :company
30
+ # @return [NewDemoApiClient::DealClient]
31
+ attr_reader :deal
32
+ # @return [NewDemoApiClient::FileClient]
33
+ attr_reader :file
34
+ # @return [NewDemoApiClient::FinancialsClient]
35
+ attr_reader :financials
36
+ # @return [NewDemoApiClient::ProductClient]
37
+ attr_reader :product
38
+ # @return [NewDemoApiClient::TalentClient]
39
+ attr_reader :talent
40
+ # @return [NewDemoApiClient::UnitEconomicsClient]
41
+ attr_reader :unit_economics
42
+ # @return [NewDemoApiClient::MetadataClient]
43
+ attr_reader :metadata
44
+ # @return [NewDemoApiClient::BenchmarkClient]
45
+ attr_reader :benchmark
46
+
47
+ # @param base_url [String]
48
+ # @param environment [NewDemoApiClient::Environment]
49
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
50
+ # @param timeout_in_seconds [Long]
51
+ # @param token [String]
52
+ # @return [NewDemoApiClient::Client]
53
+ def initialize(token:, base_url: nil, environment: NewDemoApiClient::Environment::DEFAULT, max_retries: nil,
54
+ timeout_in_seconds: nil)
55
+ @request_client = NewDemoApiClient::RequestClient.new(
56
+ base_url: base_url,
57
+ environment: environment,
58
+ max_retries: max_retries,
59
+ timeout_in_seconds: timeout_in_seconds,
60
+ token: token
61
+ )
62
+ @user = NewDemoApiClient::UserClient.new(request_client: @request_client)
63
+ @group = NewDemoApiClient::GroupClient.new(request_client: @request_client)
64
+ @macro = NewDemoApiClient::MacroClient.new(request_client: @request_client)
65
+ @company = NewDemoApiClient::CompanyClient.new(request_client: @request_client)
66
+ @deal = NewDemoApiClient::DealClient.new(request_client: @request_client)
67
+ @file = NewDemoApiClient::FileClient.new(request_client: @request_client)
68
+ @financials = NewDemoApiClient::FinancialsClient.new(request_client: @request_client)
69
+ @product = NewDemoApiClient::ProductClient.new(request_client: @request_client)
70
+ @talent = NewDemoApiClient::TalentClient.new(request_client: @request_client)
71
+ @unit_economics = NewDemoApiClient::UnitEconomicsClient.new(request_client: @request_client)
72
+ @metadata = NewDemoApiClient::MetadataClient.new(request_client: @request_client)
73
+ @benchmark = NewDemoApiClient::BenchmarkClient.new(request_client: @request_client)
74
+ end
75
+
76
+ # @param request_options [NewDemoApiClient::RequestOptions]
77
+ # @return [NewDemoApiClient::HealthzResponse]
78
+ # @example
79
+ # api = NewDemoApiClient::Client.new(
80
+ # base_url: "https://api.example.com",
81
+ # environment: NewDemoApiClient::Environment::DEFAULT,
82
+ # token: "YOUR_AUTH_TOKEN"
83
+ # )
84
+ # api.healthz
85
+ def healthz(request_options: nil)
86
+ response = @request_client.conn.get do |req|
87
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
88
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
89
+ req.headers = {
90
+ **(req.headers || {}),
91
+ **@request_client.get_headers,
92
+ **(request_options&.additional_headers || {})
93
+ }.compact
94
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
95
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
96
+ end
97
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
98
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
99
+ end
100
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/healthz"
101
+ end
102
+ NewDemoApiClient::HealthzResponse.from_json(json_object: response.body)
103
+ end
104
+ end
105
+
106
+ class AsyncClient
107
+ # @return [NewDemoApiClient::AsyncUserClient]
108
+ attr_reader :user
109
+ # @return [NewDemoApiClient::AsyncGroupClient]
110
+ attr_reader :group
111
+ # @return [NewDemoApiClient::AsyncMacroClient]
112
+ attr_reader :macro
113
+ # @return [NewDemoApiClient::AsyncCompanyClient]
114
+ attr_reader :company
115
+ # @return [NewDemoApiClient::AsyncDealClient]
116
+ attr_reader :deal
117
+ # @return [NewDemoApiClient::AsyncFileClient]
118
+ attr_reader :file
119
+ # @return [NewDemoApiClient::AsyncFinancialsClient]
120
+ attr_reader :financials
121
+ # @return [NewDemoApiClient::AsyncProductClient]
122
+ attr_reader :product
123
+ # @return [NewDemoApiClient::AsyncTalentClient]
124
+ attr_reader :talent
125
+ # @return [NewDemoApiClient::AsyncUnitEconomicsClient]
126
+ attr_reader :unit_economics
127
+ # @return [NewDemoApiClient::AsyncMetadataClient]
128
+ attr_reader :metadata
129
+ # @return [NewDemoApiClient::AsyncBenchmarkClient]
130
+ attr_reader :benchmark
131
+
132
+ # @param base_url [String]
133
+ # @param environment [NewDemoApiClient::Environment]
134
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
135
+ # @param timeout_in_seconds [Long]
136
+ # @param token [String]
137
+ # @return [NewDemoApiClient::AsyncClient]
138
+ def initialize(token:, base_url: nil, environment: NewDemoApiClient::Environment::DEFAULT, max_retries: nil,
139
+ timeout_in_seconds: nil)
140
+ @async_request_client = NewDemoApiClient::AsyncRequestClient.new(
141
+ base_url: base_url,
142
+ environment: environment,
143
+ max_retries: max_retries,
144
+ timeout_in_seconds: timeout_in_seconds,
145
+ token: token
146
+ )
147
+ @user = NewDemoApiClient::AsyncUserClient.new(request_client: @async_request_client)
148
+ @group = NewDemoApiClient::AsyncGroupClient.new(request_client: @async_request_client)
149
+ @macro = NewDemoApiClient::AsyncMacroClient.new(request_client: @async_request_client)
150
+ @company = NewDemoApiClient::AsyncCompanyClient.new(request_client: @async_request_client)
151
+ @deal = NewDemoApiClient::AsyncDealClient.new(request_client: @async_request_client)
152
+ @file = NewDemoApiClient::AsyncFileClient.new(request_client: @async_request_client)
153
+ @financials = NewDemoApiClient::AsyncFinancialsClient.new(request_client: @async_request_client)
154
+ @product = NewDemoApiClient::AsyncProductClient.new(request_client: @async_request_client)
155
+ @talent = NewDemoApiClient::AsyncTalentClient.new(request_client: @async_request_client)
156
+ @unit_economics = NewDemoApiClient::AsyncUnitEconomicsClient.new(request_client: @async_request_client)
157
+ @metadata = NewDemoApiClient::AsyncMetadataClient.new(request_client: @async_request_client)
158
+ @benchmark = NewDemoApiClient::AsyncBenchmarkClient.new(request_client: @async_request_client)
159
+ end
160
+
161
+ # @param request_options [NewDemoApiClient::RequestOptions]
162
+ # @return [NewDemoApiClient::HealthzResponse]
163
+ # @example
164
+ # api = NewDemoApiClient::Client.new(
165
+ # base_url: "https://api.example.com",
166
+ # environment: NewDemoApiClient::Environment::DEFAULT,
167
+ # token: "YOUR_AUTH_TOKEN"
168
+ # )
169
+ # api.healthz
170
+ def healthz(request_options: nil)
171
+ response = @async_request_client.conn.get do |req|
172
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
173
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
174
+ req.headers = {
175
+ **(req.headers || {}),
176
+ **@async_request_client.get_headers,
177
+ **(request_options&.additional_headers || {})
178
+ }.compact
179
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
180
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
181
+ end
182
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
183
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
184
+ end
185
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/api/v1/healthz"
186
+ end
187
+ NewDemoApiClient::HealthzResponse.from_json(json_object: response.body)
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "test_sdk/types/account_manager_response"
4
+ require_relative "test_sdk/types/all_data_metadata_response"
5
+ require_relative "test_sdk/types/area"
6
+ require_relative "test_sdk/types/authenticate_api_key_response"
7
+ require_relative "test_sdk/types/available_categories_response"
8
+ require_relative "test_sdk/types/available_models_response"
9
+ require_relative "test_sdk/types/band_response"
10
+ require_relative "test_sdk/types/benchmark_quantile"
11
+ require_relative "test_sdk/types/categories_metadata_response"
12
+ require_relative "test_sdk/types/category_growth_rates"
13
+ require_relative "test_sdk/types/category_metadata_default_user_type"
14
+ require_relative "test_sdk/types/category_metadata"
15
+ require_relative "test_sdk/types/cohorts_response"
16
+ require_relative "test_sdk/types/unit"
17
+ require_relative "test_sdk/types/scaling"
18
+ require_relative "test_sdk/types/column_metadata"
19
+ require_relative "test_sdk/types/column_mini_metadata"
20
+ require_relative "test_sdk/types/columns_metadata_response"
21
+ require_relative "test_sdk/types/company_response"
22
+ require_relative "test_sdk/types/concentration_endpoint_cdf_detail"
23
+ require_relative "test_sdk/types/concentration_endpoint_top_users_detail"
24
+ require_relative "test_sdk/types/concentration_response"
25
+ require_relative "test_sdk/types/concentration_timeseries_detail"
26
+ require_relative "test_sdk/types/contribution_response"
27
+ require_relative "test_sdk/types/create_api_key_response"
28
+ require_relative "test_sdk/types/create_file_for_signed_url_response"
29
+ require_relative "test_sdk/types/create_file_response"
30
+ require_relative "test_sdk/types/deal_combined_metrics_response"
31
+ require_relative "test_sdk/types/deal_data_availablity_response"
32
+ require_relative "test_sdk/types/deal_with_files_response"
33
+ require_relative "test_sdk/types/endpoint_seniority_count"
34
+ require_relative "test_sdk/types/executive_profile"
35
+ require_relative "test_sdk/types/executive_profile_position"
36
+ require_relative "test_sdk/types/file_response"
37
+ require_relative "test_sdk/types/file_type"
38
+ require_relative "test_sdk/types/financial_metrics"
39
+ require_relative "test_sdk/types/financials_response"
40
+ require_relative "test_sdk/types/frequency"
41
+ require_relative "test_sdk/types/function_level_growth_accounting"
42
+ require_relative "test_sdk/types/gcs_signed_url_response"
43
+ require_relative "test_sdk/types/group_response"
44
+ require_relative "test_sdk/types/group_user"
45
+ require_relative "test_sdk/types/group_with_users_response"
46
+ require_relative "test_sdk/types/growth_accounting_response"
47
+ require_relative "test_sdk/types/http_validation_error"
48
+ require_relative "test_sdk/types/healthz_response"
49
+ require_relative "test_sdk/types/income_statement_entry"
50
+ require_relative "test_sdk/types/model_metadata"
51
+ require_relative "test_sdk/types/models_metadata_response"
52
+ require_relative "test_sdk/types/paginated_response_company_response"
53
+ require_relative "test_sdk/types/paginated_response_deal_with_files_response"
54
+ require_relative "test_sdk/types/paginated_response_file_response"
55
+ require_relative "test_sdk/types/paginated_response_group_user"
56
+ require_relative "test_sdk/types/permission_model"
57
+ require_relative "test_sdk/types/priority"
58
+ require_relative "test_sdk/types/product_info_response"
59
+ require_relative "test_sdk/types/role_response"
60
+ require_relative "test_sdk/types/scale"
61
+ require_relative "test_sdk/types/scale_model"
62
+ require_relative "test_sdk/types/scale_models_response"
63
+ require_relative "test_sdk/types/status"
64
+ require_relative "test_sdk/types/tradeoff_model"
65
+ require_relative "test_sdk/types/tradeoff_models_response"
66
+ require_relative "test_sdk/types/unit_economics_info_response"
67
+ require_relative "test_sdk/types/user_accounting_response"
68
+ require_relative "test_sdk/types/user_role_response"
69
+ require_relative "test_sdk/types/user_type"
70
+ require_relative "test_sdk/types/user_with_groups_response"
71
+ require_relative "test_sdk/types/user_with_permissions_response"
72
+ require_relative "test_sdk/types/validation_error_loc_item"
73
+ require_relative "test_sdk/types/validation_error"
74
+ require_relative "test_sdk/types/weather_components"
75
+ require_relative "test_sdk/types/weather_gauge"
76
+ require_relative "test_sdk/types/weather_market_context"
77
+ require_relative "test_sdk/types/weather_metadata"