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,584 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../requests"
|
4
|
+
require_relative "../types/status"
|
5
|
+
require_relative "../types/priority"
|
6
|
+
require_relative "../types/deal_with_files_response"
|
7
|
+
require_relative "../types/paginated_response_deal_with_files_response"
|
8
|
+
require "json"
|
9
|
+
require "async"
|
10
|
+
|
11
|
+
module NewDemoApiClient
|
12
|
+
class DealClient
|
13
|
+
# @return [NewDemoApiClient::RequestClient]
|
14
|
+
attr_reader :request_client
|
15
|
+
|
16
|
+
# @param request_client [NewDemoApiClient::RequestClient]
|
17
|
+
# @return [NewDemoApiClient::DealClient]
|
18
|
+
def initialize(request_client:)
|
19
|
+
@request_client = request_client
|
20
|
+
end
|
21
|
+
|
22
|
+
# Create a new deal.
|
23
|
+
#
|
24
|
+
# @param group_id [Integer]
|
25
|
+
# @param name [String]
|
26
|
+
# @param round_name [String] The name of the round
|
27
|
+
# @param status [NewDemoApiClient::Status] The status of the deal
|
28
|
+
# @param notes [String] Notes about the deal
|
29
|
+
# @param priority [NewDemoApiClient::Priority] The priority of the deal
|
30
|
+
# @param round_amount [Integer] The dollar amount to be raised of the round
|
31
|
+
# @param round_target [Integer] The target post-money dollar amount of the round
|
32
|
+
# @param tags [Array<String>] The tags associated with the deal
|
33
|
+
# @param company_id [Integer]
|
34
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
35
|
+
# @return [NewDemoApiClient::DealWithFilesResponse]
|
36
|
+
# @example
|
37
|
+
# api = NewDemoApiClient::Client.new(
|
38
|
+
# base_url: "https://api.example.com",
|
39
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
40
|
+
# token: "YOUR_AUTH_TOKEN"
|
41
|
+
# )
|
42
|
+
# api.deal.create(
|
43
|
+
# group_id: 1,
|
44
|
+
# name: "name",
|
45
|
+
# round_name: "round_name",
|
46
|
+
# status: QUEUED,
|
47
|
+
# company_id: 1
|
48
|
+
# )
|
49
|
+
def create(group_id:, name:, round_name:, status:, company_id:, notes: nil, priority: nil, round_amount: nil, round_target: nil,
|
50
|
+
tags: nil, request_options: nil)
|
51
|
+
response = @request_client.conn.post do |req|
|
52
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
53
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
54
|
+
req.headers = {
|
55
|
+
**(req.headers || {}),
|
56
|
+
**@request_client.get_headers,
|
57
|
+
**(request_options&.additional_headers || {})
|
58
|
+
}.compact
|
59
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
60
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
61
|
+
end
|
62
|
+
req.body = {
|
63
|
+
**(request_options&.additional_body_parameters || {}),
|
64
|
+
name: name,
|
65
|
+
round_name: round_name,
|
66
|
+
status: status,
|
67
|
+
notes: notes,
|
68
|
+
priority: priority,
|
69
|
+
round_amount: round_amount,
|
70
|
+
round_target: round_target,
|
71
|
+
tags: tags,
|
72
|
+
company_id: company_id
|
73
|
+
}.compact
|
74
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal"
|
75
|
+
end
|
76
|
+
NewDemoApiClient::DealWithFilesResponse.from_json(json_object: response.body)
|
77
|
+
end
|
78
|
+
|
79
|
+
# Get all deals for a group.
|
80
|
+
#
|
81
|
+
# @param group_id [Integer]
|
82
|
+
# @param sort_by [String]
|
83
|
+
# @param sort_order [String]
|
84
|
+
# @param page [Integer]
|
85
|
+
# @param page_size [Integer]
|
86
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
87
|
+
# @return [NewDemoApiClient::PaginatedResponseDealWithFilesResponse]
|
88
|
+
# @example
|
89
|
+
# api = NewDemoApiClient::Client.new(
|
90
|
+
# base_url: "https://api.example.com",
|
91
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
92
|
+
# token: "YOUR_AUTH_TOKEN"
|
93
|
+
# )
|
94
|
+
# api.deal.list(group_id: 1)
|
95
|
+
def list(group_id:, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
96
|
+
response = @request_client.conn.get do |req|
|
97
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
98
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
99
|
+
req.headers = {
|
100
|
+
**(req.headers || {}),
|
101
|
+
**@request_client.get_headers,
|
102
|
+
**(request_options&.additional_headers || {})
|
103
|
+
}.compact
|
104
|
+
req.params = {
|
105
|
+
**(request_options&.additional_query_parameters || {}),
|
106
|
+
"sort_by": sort_by,
|
107
|
+
"sort_order": sort_order,
|
108
|
+
"page": page,
|
109
|
+
"page_size": page_size
|
110
|
+
}.compact
|
111
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
112
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
113
|
+
end
|
114
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/all"
|
115
|
+
end
|
116
|
+
NewDemoApiClient::PaginatedResponseDealWithFilesResponse.from_json(json_object: response.body)
|
117
|
+
end
|
118
|
+
|
119
|
+
# Search deals within a group.
|
120
|
+
#
|
121
|
+
# @param group_id [Integer]
|
122
|
+
# @param name [String]
|
123
|
+
# @param round_name [String]
|
124
|
+
# @param notes [String]
|
125
|
+
# @param tags [String]
|
126
|
+
# @param company_name [String]
|
127
|
+
# @param company_domain [String]
|
128
|
+
# @param ignore_archived [Boolean]
|
129
|
+
# @param sort_by [String]
|
130
|
+
# @param sort_order [String]
|
131
|
+
# @param page [Integer]
|
132
|
+
# @param page_size [Integer]
|
133
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
134
|
+
# @return [NewDemoApiClient::PaginatedResponseDealWithFilesResponse]
|
135
|
+
# @example
|
136
|
+
# api = NewDemoApiClient::Client.new(
|
137
|
+
# base_url: "https://api.example.com",
|
138
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
139
|
+
# token: "YOUR_AUTH_TOKEN"
|
140
|
+
# )
|
141
|
+
# api.deal.search(group_id: 1)
|
142
|
+
def search(group_id:, name: nil, round_name: nil, notes: nil, tags: nil, company_name: nil, company_domain: nil,
|
143
|
+
ignore_archived: nil, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
144
|
+
response = @request_client.conn.get do |req|
|
145
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
146
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
147
|
+
req.headers = {
|
148
|
+
**(req.headers || {}),
|
149
|
+
**@request_client.get_headers,
|
150
|
+
**(request_options&.additional_headers || {})
|
151
|
+
}.compact
|
152
|
+
req.params = {
|
153
|
+
**(request_options&.additional_query_parameters || {}),
|
154
|
+
"name": name,
|
155
|
+
"round_name": round_name,
|
156
|
+
"notes": notes,
|
157
|
+
"tags": tags,
|
158
|
+
"company_name": company_name,
|
159
|
+
"company_domain": company_domain,
|
160
|
+
"ignore_archived": ignore_archived,
|
161
|
+
"sort_by": sort_by,
|
162
|
+
"sort_order": sort_order,
|
163
|
+
"page": page,
|
164
|
+
"page_size": page_size
|
165
|
+
}.compact
|
166
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
167
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
168
|
+
end
|
169
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/search"
|
170
|
+
end
|
171
|
+
NewDemoApiClient::PaginatedResponseDealWithFilesResponse.from_json(json_object: response.body)
|
172
|
+
end
|
173
|
+
|
174
|
+
# Retrieve a deal by its ID.
|
175
|
+
#
|
176
|
+
# @param group_id [Integer]
|
177
|
+
# @param deal_id [Integer]
|
178
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
179
|
+
# @return [NewDemoApiClient::DealWithFilesResponse]
|
180
|
+
# @example
|
181
|
+
# api = NewDemoApiClient::Client.new(
|
182
|
+
# base_url: "https://api.example.com",
|
183
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
184
|
+
# token: "YOUR_AUTH_TOKEN"
|
185
|
+
# )
|
186
|
+
# api.deal.get(group_id: 1, deal_id: 1)
|
187
|
+
def get(group_id:, deal_id:, request_options: nil)
|
188
|
+
response = @request_client.conn.get do |req|
|
189
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
190
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
191
|
+
req.headers = {
|
192
|
+
**(req.headers || {}),
|
193
|
+
**@request_client.get_headers,
|
194
|
+
**(request_options&.additional_headers || {})
|
195
|
+
}.compact
|
196
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
197
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
198
|
+
end
|
199
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
200
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
201
|
+
end
|
202
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/#{deal_id}"
|
203
|
+
end
|
204
|
+
NewDemoApiClient::DealWithFilesResponse.from_json(json_object: response.body)
|
205
|
+
end
|
206
|
+
|
207
|
+
# Update a deal.
|
208
|
+
#
|
209
|
+
# @param group_id [Integer]
|
210
|
+
# @param deal_id [Integer]
|
211
|
+
# @param name [String]
|
212
|
+
# @param round_name [String]
|
213
|
+
# @param status [NewDemoApiClient::Status]
|
214
|
+
# @param notes [String] Notes about the deal
|
215
|
+
# @param priority [NewDemoApiClient::Priority] The priority of the deal
|
216
|
+
# @param round_amount [Integer] The dollar amount to be raised of the round
|
217
|
+
# @param round_target [Integer] The target post-money dollar amount of the round
|
218
|
+
# @param tags [Array<String>] The tags associated with the deal
|
219
|
+
# @param company_id [Integer]
|
220
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
221
|
+
# @return [NewDemoApiClient::DealWithFilesResponse]
|
222
|
+
# @example
|
223
|
+
# api = NewDemoApiClient::Client.new(
|
224
|
+
# base_url: "https://api.example.com",
|
225
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
226
|
+
# token: "YOUR_AUTH_TOKEN"
|
227
|
+
# )
|
228
|
+
# api.deal.update(group_id: 1, deal_id: 1)
|
229
|
+
def update(group_id:, deal_id:, name: nil, round_name: nil, status: nil, notes: nil, priority: nil,
|
230
|
+
round_amount: nil, round_target: nil, tags: nil, company_id: nil, request_options: nil)
|
231
|
+
response = @request_client.conn.put do |req|
|
232
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
233
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
234
|
+
req.headers = {
|
235
|
+
**(req.headers || {}),
|
236
|
+
**@request_client.get_headers,
|
237
|
+
**(request_options&.additional_headers || {})
|
238
|
+
}.compact
|
239
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
240
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
241
|
+
end
|
242
|
+
req.body = {
|
243
|
+
**(request_options&.additional_body_parameters || {}),
|
244
|
+
name: name,
|
245
|
+
round_name: round_name,
|
246
|
+
status: status,
|
247
|
+
notes: notes,
|
248
|
+
priority: priority,
|
249
|
+
round_amount: round_amount,
|
250
|
+
round_target: round_target,
|
251
|
+
tags: tags,
|
252
|
+
company_id: company_id
|
253
|
+
}.compact
|
254
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/#{deal_id}"
|
255
|
+
end
|
256
|
+
NewDemoApiClient::DealWithFilesResponse.from_json(json_object: response.body)
|
257
|
+
end
|
258
|
+
|
259
|
+
# Delete a deal.
|
260
|
+
#
|
261
|
+
# @param deal_id [Integer]
|
262
|
+
# @param group_id [Integer]
|
263
|
+
# @param archive [Boolean]
|
264
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
265
|
+
# @return [Hash{String => String}]
|
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.deal.delete(deal_id: 1, group_id: 1)
|
273
|
+
def delete(deal_id:, group_id:, archive: nil, request_options: nil)
|
274
|
+
response = @request_client.conn.delete do |req|
|
275
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
276
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
277
|
+
req.headers = {
|
278
|
+
**(req.headers || {}),
|
279
|
+
**@request_client.get_headers,
|
280
|
+
**(request_options&.additional_headers || {})
|
281
|
+
}.compact
|
282
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "archive": archive }.compact
|
283
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
284
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
285
|
+
end
|
286
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{deal_id}/deal/#{group_id}"
|
287
|
+
end
|
288
|
+
JSON.parse(response.body)
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
class AsyncDealClient
|
293
|
+
# @return [NewDemoApiClient::AsyncRequestClient]
|
294
|
+
attr_reader :request_client
|
295
|
+
|
296
|
+
# @param request_client [NewDemoApiClient::AsyncRequestClient]
|
297
|
+
# @return [NewDemoApiClient::AsyncDealClient]
|
298
|
+
def initialize(request_client:)
|
299
|
+
@request_client = request_client
|
300
|
+
end
|
301
|
+
|
302
|
+
# Create a new deal.
|
303
|
+
#
|
304
|
+
# @param group_id [Integer]
|
305
|
+
# @param name [String]
|
306
|
+
# @param round_name [String] The name of the round
|
307
|
+
# @param status [NewDemoApiClient::Status] The status of the deal
|
308
|
+
# @param notes [String] Notes about the deal
|
309
|
+
# @param priority [NewDemoApiClient::Priority] The priority of the deal
|
310
|
+
# @param round_amount [Integer] The dollar amount to be raised of the round
|
311
|
+
# @param round_target [Integer] The target post-money dollar amount of the round
|
312
|
+
# @param tags [Array<String>] The tags associated with the deal
|
313
|
+
# @param company_id [Integer]
|
314
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
315
|
+
# @return [NewDemoApiClient::DealWithFilesResponse]
|
316
|
+
# @example
|
317
|
+
# api = NewDemoApiClient::Client.new(
|
318
|
+
# base_url: "https://api.example.com",
|
319
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
320
|
+
# token: "YOUR_AUTH_TOKEN"
|
321
|
+
# )
|
322
|
+
# api.deal.create(
|
323
|
+
# group_id: 1,
|
324
|
+
# name: "name",
|
325
|
+
# round_name: "round_name",
|
326
|
+
# status: QUEUED,
|
327
|
+
# company_id: 1
|
328
|
+
# )
|
329
|
+
def create(group_id:, name:, round_name:, status:, company_id:, notes: nil, priority: nil, round_amount: nil, round_target: nil,
|
330
|
+
tags: nil, request_options: nil)
|
331
|
+
Async do
|
332
|
+
response = @request_client.conn.post do |req|
|
333
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
334
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
335
|
+
req.headers = {
|
336
|
+
**(req.headers || {}),
|
337
|
+
**@request_client.get_headers,
|
338
|
+
**(request_options&.additional_headers || {})
|
339
|
+
}.compact
|
340
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
341
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
342
|
+
end
|
343
|
+
req.body = {
|
344
|
+
**(request_options&.additional_body_parameters || {}),
|
345
|
+
name: name,
|
346
|
+
round_name: round_name,
|
347
|
+
status: status,
|
348
|
+
notes: notes,
|
349
|
+
priority: priority,
|
350
|
+
round_amount: round_amount,
|
351
|
+
round_target: round_target,
|
352
|
+
tags: tags,
|
353
|
+
company_id: company_id
|
354
|
+
}.compact
|
355
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal"
|
356
|
+
end
|
357
|
+
NewDemoApiClient::DealWithFilesResponse.from_json(json_object: response.body)
|
358
|
+
end
|
359
|
+
end
|
360
|
+
|
361
|
+
# Get all deals for a group.
|
362
|
+
#
|
363
|
+
# @param group_id [Integer]
|
364
|
+
# @param sort_by [String]
|
365
|
+
# @param sort_order [String]
|
366
|
+
# @param page [Integer]
|
367
|
+
# @param page_size [Integer]
|
368
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
369
|
+
# @return [NewDemoApiClient::PaginatedResponseDealWithFilesResponse]
|
370
|
+
# @example
|
371
|
+
# api = NewDemoApiClient::Client.new(
|
372
|
+
# base_url: "https://api.example.com",
|
373
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
374
|
+
# token: "YOUR_AUTH_TOKEN"
|
375
|
+
# )
|
376
|
+
# api.deal.list(group_id: 1)
|
377
|
+
def list(group_id:, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
378
|
+
Async do
|
379
|
+
response = @request_client.conn.get do |req|
|
380
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
381
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
382
|
+
req.headers = {
|
383
|
+
**(req.headers || {}),
|
384
|
+
**@request_client.get_headers,
|
385
|
+
**(request_options&.additional_headers || {})
|
386
|
+
}.compact
|
387
|
+
req.params = {
|
388
|
+
**(request_options&.additional_query_parameters || {}),
|
389
|
+
"sort_by": sort_by,
|
390
|
+
"sort_order": sort_order,
|
391
|
+
"page": page,
|
392
|
+
"page_size": page_size
|
393
|
+
}.compact
|
394
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
395
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
396
|
+
end
|
397
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/all"
|
398
|
+
end
|
399
|
+
NewDemoApiClient::PaginatedResponseDealWithFilesResponse.from_json(json_object: response.body)
|
400
|
+
end
|
401
|
+
end
|
402
|
+
|
403
|
+
# Search deals within a group.
|
404
|
+
#
|
405
|
+
# @param group_id [Integer]
|
406
|
+
# @param name [String]
|
407
|
+
# @param round_name [String]
|
408
|
+
# @param notes [String]
|
409
|
+
# @param tags [String]
|
410
|
+
# @param company_name [String]
|
411
|
+
# @param company_domain [String]
|
412
|
+
# @param ignore_archived [Boolean]
|
413
|
+
# @param sort_by [String]
|
414
|
+
# @param sort_order [String]
|
415
|
+
# @param page [Integer]
|
416
|
+
# @param page_size [Integer]
|
417
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
418
|
+
# @return [NewDemoApiClient::PaginatedResponseDealWithFilesResponse]
|
419
|
+
# @example
|
420
|
+
# api = NewDemoApiClient::Client.new(
|
421
|
+
# base_url: "https://api.example.com",
|
422
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
423
|
+
# token: "YOUR_AUTH_TOKEN"
|
424
|
+
# )
|
425
|
+
# api.deal.search(group_id: 1)
|
426
|
+
def search(group_id:, name: nil, round_name: nil, notes: nil, tags: nil, company_name: nil, company_domain: nil,
|
427
|
+
ignore_archived: nil, sort_by: nil, sort_order: nil, page: nil, page_size: nil, request_options: nil)
|
428
|
+
Async do
|
429
|
+
response = @request_client.conn.get do |req|
|
430
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
431
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
432
|
+
req.headers = {
|
433
|
+
**(req.headers || {}),
|
434
|
+
**@request_client.get_headers,
|
435
|
+
**(request_options&.additional_headers || {})
|
436
|
+
}.compact
|
437
|
+
req.params = {
|
438
|
+
**(request_options&.additional_query_parameters || {}),
|
439
|
+
"name": name,
|
440
|
+
"round_name": round_name,
|
441
|
+
"notes": notes,
|
442
|
+
"tags": tags,
|
443
|
+
"company_name": company_name,
|
444
|
+
"company_domain": company_domain,
|
445
|
+
"ignore_archived": ignore_archived,
|
446
|
+
"sort_by": sort_by,
|
447
|
+
"sort_order": sort_order,
|
448
|
+
"page": page,
|
449
|
+
"page_size": page_size
|
450
|
+
}.compact
|
451
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
452
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
453
|
+
end
|
454
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/search"
|
455
|
+
end
|
456
|
+
NewDemoApiClient::PaginatedResponseDealWithFilesResponse.from_json(json_object: response.body)
|
457
|
+
end
|
458
|
+
end
|
459
|
+
|
460
|
+
# Retrieve a deal by its ID.
|
461
|
+
#
|
462
|
+
# @param group_id [Integer]
|
463
|
+
# @param deal_id [Integer]
|
464
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
465
|
+
# @return [NewDemoApiClient::DealWithFilesResponse]
|
466
|
+
# @example
|
467
|
+
# api = NewDemoApiClient::Client.new(
|
468
|
+
# base_url: "https://api.example.com",
|
469
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
470
|
+
# token: "YOUR_AUTH_TOKEN"
|
471
|
+
# )
|
472
|
+
# api.deal.get(group_id: 1, deal_id: 1)
|
473
|
+
def get(group_id:, deal_id:, request_options: nil)
|
474
|
+
Async do
|
475
|
+
response = @request_client.conn.get do |req|
|
476
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
477
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
478
|
+
req.headers = {
|
479
|
+
**(req.headers || {}),
|
480
|
+
**@request_client.get_headers,
|
481
|
+
**(request_options&.additional_headers || {})
|
482
|
+
}.compact
|
483
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
484
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
485
|
+
end
|
486
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
487
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
488
|
+
end
|
489
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/#{deal_id}"
|
490
|
+
end
|
491
|
+
NewDemoApiClient::DealWithFilesResponse.from_json(json_object: response.body)
|
492
|
+
end
|
493
|
+
end
|
494
|
+
|
495
|
+
# Update a deal.
|
496
|
+
#
|
497
|
+
# @param group_id [Integer]
|
498
|
+
# @param deal_id [Integer]
|
499
|
+
# @param name [String]
|
500
|
+
# @param round_name [String]
|
501
|
+
# @param status [NewDemoApiClient::Status]
|
502
|
+
# @param notes [String] Notes about the deal
|
503
|
+
# @param priority [NewDemoApiClient::Priority] The priority of the deal
|
504
|
+
# @param round_amount [Integer] The dollar amount to be raised of the round
|
505
|
+
# @param round_target [Integer] The target post-money dollar amount of the round
|
506
|
+
# @param tags [Array<String>] The tags associated with the deal
|
507
|
+
# @param company_id [Integer]
|
508
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
509
|
+
# @return [NewDemoApiClient::DealWithFilesResponse]
|
510
|
+
# @example
|
511
|
+
# api = NewDemoApiClient::Client.new(
|
512
|
+
# base_url: "https://api.example.com",
|
513
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
514
|
+
# token: "YOUR_AUTH_TOKEN"
|
515
|
+
# )
|
516
|
+
# api.deal.update(group_id: 1, deal_id: 1)
|
517
|
+
def update(group_id:, deal_id:, name: nil, round_name: nil, status: nil, notes: nil, priority: nil,
|
518
|
+
round_amount: nil, round_target: nil, tags: nil, company_id: nil, request_options: nil)
|
519
|
+
Async do
|
520
|
+
response = @request_client.conn.put do |req|
|
521
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
522
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
523
|
+
req.headers = {
|
524
|
+
**(req.headers || {}),
|
525
|
+
**@request_client.get_headers,
|
526
|
+
**(request_options&.additional_headers || {})
|
527
|
+
}.compact
|
528
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
529
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
530
|
+
end
|
531
|
+
req.body = {
|
532
|
+
**(request_options&.additional_body_parameters || {}),
|
533
|
+
name: name,
|
534
|
+
round_name: round_name,
|
535
|
+
status: status,
|
536
|
+
notes: notes,
|
537
|
+
priority: priority,
|
538
|
+
round_amount: round_amount,
|
539
|
+
round_target: round_target,
|
540
|
+
tags: tags,
|
541
|
+
company_id: company_id
|
542
|
+
}.compact
|
543
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/#{deal_id}"
|
544
|
+
end
|
545
|
+
NewDemoApiClient::DealWithFilesResponse.from_json(json_object: response.body)
|
546
|
+
end
|
547
|
+
end
|
548
|
+
|
549
|
+
# Delete a deal.
|
550
|
+
#
|
551
|
+
# @param deal_id [Integer]
|
552
|
+
# @param group_id [Integer]
|
553
|
+
# @param archive [Boolean]
|
554
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
555
|
+
# @return [Hash{String => String}]
|
556
|
+
# @example
|
557
|
+
# api = NewDemoApiClient::Client.new(
|
558
|
+
# base_url: "https://api.example.com",
|
559
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
560
|
+
# token: "YOUR_AUTH_TOKEN"
|
561
|
+
# )
|
562
|
+
# api.deal.delete(deal_id: 1, group_id: 1)
|
563
|
+
def delete(deal_id:, group_id:, archive: nil, request_options: nil)
|
564
|
+
Async do
|
565
|
+
response = @request_client.conn.delete do |req|
|
566
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
567
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
568
|
+
req.headers = {
|
569
|
+
**(req.headers || {}),
|
570
|
+
**@request_client.get_headers,
|
571
|
+
**(request_options&.additional_headers || {})
|
572
|
+
}.compact
|
573
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "archive": archive }.compact
|
574
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
575
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
576
|
+
end
|
577
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{deal_id}/deal/#{group_id}"
|
578
|
+
end
|
579
|
+
parsed_json = JSON.parse(response.body)
|
580
|
+
parsed_json
|
581
|
+
end
|
582
|
+
end
|
583
|
+
end
|
584
|
+
end
|