dub 0.12.6 → 0.12.7

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -0
  3. data/lib/open_api_sdk/commissions.rb +1 -1
  4. data/lib/open_api_sdk/customers.rb +3 -3
  5. data/lib/open_api_sdk/domains.rb +2 -2
  6. data/lib/open_api_sdk/dub.rb +2 -1
  7. data/lib/open_api_sdk/events.rb +1 -1
  8. data/lib/open_api_sdk/folders.rb +2 -2
  9. data/lib/open_api_sdk/links.rb +1 -1
  10. data/lib/open_api_sdk/models/operations/applicationformdata.rb +36 -0
  11. data/lib/open_api_sdk/models/operations/applicationformdata.rbi +15 -0
  12. data/lib/open_api_sdk/models/operations/approvepartner_requestbody.rb +36 -0
  13. data/lib/open_api_sdk/models/operations/approvepartner_requestbody.rbi +15 -0
  14. data/lib/open_api_sdk/models/operations/approvepartner_responsebody.rb +32 -0
  15. data/lib/open_api_sdk/models/operations/approvepartner_responsebody.rbi +13 -0
  16. data/lib/open_api_sdk/models/operations/banpartner_requestbody.rb +1 -1
  17. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +6 -2
  18. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +2 -0
  19. data/lib/open_api_sdk/models/operations/listpartnerapplications_partner.rb +88 -0
  20. data/lib/open_api_sdk/models/operations/listpartnerapplications_partner.rbi +41 -0
  21. data/lib/open_api_sdk/models/operations/listpartnerapplications_request.rb +44 -0
  22. data/lib/open_api_sdk/models/operations/listpartnerapplications_request.rbi +19 -0
  23. data/lib/open_api_sdk/models/operations/listpartnerapplications_responsebody.rb +44 -0
  24. data/lib/open_api_sdk/models/operations/listpartnerapplications_responsebody.rbi +19 -0
  25. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rb +25 -0
  26. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rbi +11 -0
  27. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +6 -2
  28. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +2 -0
  29. data/lib/open_api_sdk/models/operations/reason.rb +1 -1
  30. data/lib/open_api_sdk/models/operations/rejectbountysubmission_rejectionreason.rb +22 -0
  31. data/lib/open_api_sdk/models/operations/rejectbountysubmission_rejectionreason.rbi +11 -0
  32. data/lib/open_api_sdk/models/operations/rejectbountysubmission_requestbody.rb +2 -2
  33. data/lib/open_api_sdk/models/operations/rejectionreason.rb +4 -5
  34. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rb +44 -0
  35. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rbi +19 -0
  36. data/lib/open_api_sdk/models/operations/rejectpartner_responsebody.rb +32 -0
  37. data/lib/open_api_sdk/models/operations/rejectpartner_responsebody.rbi +13 -0
  38. data/lib/open_api_sdk/models/operations/responsebody_sale.rb +6 -2
  39. data/lib/open_api_sdk/models/operations/responsebody_sale.rbi +2 -0
  40. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rb +6 -6
  41. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rbi +2 -2
  42. data/lib/open_api_sdk/models/operations.rb +10 -0
  43. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +6 -2
  44. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +2 -0
  45. data/lib/open_api_sdk/partner_applications.rb +750 -0
  46. data/lib/open_api_sdk/payouts.rb +1 -1
  47. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  48. data/lib/open_api_sdk/tags.rb +2 -2
  49. metadata +23 -2
@@ -0,0 +1,750 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module OpenApiSDK
14
+ extend T::Sig
15
+ class PartnerApplications
16
+ extend T::Sig
17
+
18
+
19
+
20
+ sig { params(sdk_config: SDKConfiguration).void }
21
+ def initialize(sdk_config)
22
+ @sdk_configuration = sdk_config
23
+
24
+ end
25
+
26
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
+ def get_url(base_url:, url_variables: nil)
28
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
29
+
30
+ if base_url.nil?
31
+ base_url = sd_base_url
32
+ end
33
+
34
+ if url_variables.nil?
35
+ url_variables = sd_options
36
+ end
37
+
38
+ return Utils.template_url base_url, url_variables
39
+ end
40
+
41
+
42
+
43
+
44
+ sig { params(request: Models::Operations::ListPartnerApplicationsRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(T::Array[Models::Operations::ListPartnerApplicationsResponseBody]) }
45
+ def list(request:, timeout_ms: nil, http_headers: nil)
46
+ # list - List all pending partner applications
47
+ # Retrieve a paginated list of pending applications for your partner program.
48
+ url, params = @sdk_configuration.get_server_details
49
+ base_url = Utils.template_url(url, params)
50
+ url = "#{base_url}/partners/applications"
51
+ headers = {}
52
+ headers = T.cast(headers, T::Hash[String, String])
53
+ query_params = Utils.get_query_params(Models::Operations::ListPartnerApplicationsRequest, request, nil)
54
+ headers['Accept'] = 'application/json'
55
+ headers['user-agent'] = @sdk_configuration.user_agent
56
+
57
+ security = @sdk_configuration.security_source&.call
58
+
59
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
60
+ timeout ||= @sdk_configuration.timeout
61
+
62
+
63
+ connection = @sdk_configuration.client
64
+
65
+ hook_ctx = SDKHooks::HookContext.new(
66
+ config: @sdk_configuration,
67
+ base_url: base_url,
68
+ oauth2_scopes: nil,
69
+ operation_id: 'listPartnerApplications',
70
+ security_source: @sdk_configuration.security_source
71
+ )
72
+
73
+ error = T.let(nil, T.nilable(StandardError))
74
+ http_response = T.let(nil, T.nilable(Faraday::Response))
75
+
76
+
77
+ begin
78
+ http_response = T.must(connection).get(url) do |req|
79
+ req.headers.merge!(headers)
80
+ req.options.timeout = timeout unless timeout.nil?
81
+ req.params = query_params
82
+ Utils.configure_request_security(req, security)
83
+ http_headers&.each do |key, value|
84
+ req.headers[key.to_s] = value
85
+ end
86
+
87
+ @sdk_configuration.hooks.before_request(
88
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
89
+ hook_ctx: hook_ctx
90
+ ),
91
+ request: req
92
+ )
93
+ end
94
+ rescue StandardError => e
95
+ error = e
96
+ ensure
97
+ if http_response.nil? || Utils.error_status?(http_response.status)
98
+ http_response = @sdk_configuration.hooks.after_error(
99
+ error: error,
100
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
101
+ hook_ctx: hook_ctx
102
+ ),
103
+ response: http_response
104
+ )
105
+ else
106
+ http_response = @sdk_configuration.hooks.after_success(
107
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
108
+ hook_ctx: hook_ctx
109
+ ),
110
+ response: http_response
111
+ )
112
+ end
113
+
114
+ if http_response.nil?
115
+ raise error if !error.nil?
116
+ raise 'no response'
117
+ end
118
+ end
119
+
120
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
121
+ if Utils.match_status_code(http_response.status, ['200'])
122
+ if Utils.match_content_type(content_type, 'application/json')
123
+ @sdk_configuration.hooks.after_success(
124
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
125
+ hook_ctx: hook_ctx
126
+ ),
127
+ response: http_response
128
+ )
129
+ response_data = http_response.env.response_body
130
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Operations::ListPartnerApplicationsResponseBody))
131
+
132
+ return obj
133
+ else
134
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
135
+ end
136
+ elsif Utils.match_status_code(http_response.status, ['400'])
137
+ if Utils.match_content_type(content_type, 'application/json')
138
+ @sdk_configuration.hooks.after_success(
139
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
140
+ hook_ctx: hook_ctx
141
+ ),
142
+ response: http_response
143
+ )
144
+ response_data = http_response.env.response_body
145
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequest)
146
+ raise obj
147
+ else
148
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
149
+ end
150
+ elsif Utils.match_status_code(http_response.status, ['401'])
151
+ if Utils.match_content_type(content_type, 'application/json')
152
+ @sdk_configuration.hooks.after_success(
153
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
154
+ hook_ctx: hook_ctx
155
+ ),
156
+ response: http_response
157
+ )
158
+ response_data = http_response.env.response_body
159
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Unauthorized)
160
+ raise obj
161
+ else
162
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
163
+ end
164
+ elsif Utils.match_status_code(http_response.status, ['403'])
165
+ if Utils.match_content_type(content_type, 'application/json')
166
+ @sdk_configuration.hooks.after_success(
167
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
168
+ hook_ctx: hook_ctx
169
+ ),
170
+ response: http_response
171
+ )
172
+ response_data = http_response.env.response_body
173
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Forbidden)
174
+ raise obj
175
+ else
176
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
177
+ end
178
+ elsif Utils.match_status_code(http_response.status, ['404'])
179
+ if Utils.match_content_type(content_type, 'application/json')
180
+ @sdk_configuration.hooks.after_success(
181
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
182
+ hook_ctx: hook_ctx
183
+ ),
184
+ response: http_response
185
+ )
186
+ response_data = http_response.env.response_body
187
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFound)
188
+ raise obj
189
+ else
190
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
191
+ end
192
+ elsif Utils.match_status_code(http_response.status, ['409'])
193
+ if Utils.match_content_type(content_type, 'application/json')
194
+ @sdk_configuration.hooks.after_success(
195
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
196
+ hook_ctx: hook_ctx
197
+ ),
198
+ response: http_response
199
+ )
200
+ response_data = http_response.env.response_body
201
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Conflict)
202
+ raise obj
203
+ else
204
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
205
+ end
206
+ elsif Utils.match_status_code(http_response.status, ['410'])
207
+ if Utils.match_content_type(content_type, 'application/json')
208
+ @sdk_configuration.hooks.after_success(
209
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
210
+ hook_ctx: hook_ctx
211
+ ),
212
+ response: http_response
213
+ )
214
+ response_data = http_response.env.response_body
215
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InviteExpired)
216
+ raise obj
217
+ else
218
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
219
+ end
220
+ elsif Utils.match_status_code(http_response.status, ['422'])
221
+ if Utils.match_content_type(content_type, 'application/json')
222
+ @sdk_configuration.hooks.after_success(
223
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
224
+ hook_ctx: hook_ctx
225
+ ),
226
+ response: http_response
227
+ )
228
+ response_data = http_response.env.response_body
229
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntity)
230
+ raise obj
231
+ else
232
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
233
+ end
234
+ elsif Utils.match_status_code(http_response.status, ['429'])
235
+ if Utils.match_content_type(content_type, 'application/json')
236
+ @sdk_configuration.hooks.after_success(
237
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
238
+ hook_ctx: hook_ctx
239
+ ),
240
+ response: http_response
241
+ )
242
+ response_data = http_response.env.response_body
243
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitExceeded)
244
+ raise obj
245
+ else
246
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
247
+ end
248
+ elsif Utils.match_status_code(http_response.status, ['500'])
249
+ if Utils.match_content_type(content_type, 'application/json')
250
+ @sdk_configuration.hooks.after_success(
251
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
252
+ hook_ctx: hook_ctx
253
+ ),
254
+ response: http_response
255
+ )
256
+ response_data = http_response.env.response_body
257
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InternalServerError)
258
+ raise obj
259
+ else
260
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
261
+ end
262
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
263
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
264
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
265
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
266
+ else
267
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
268
+
269
+ end
270
+ end
271
+
272
+
273
+ sig { params(request: Models::Operations::ApprovePartnerRequestBody, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ApprovePartnerResponseBody) }
274
+ def approve(request:, timeout_ms: nil, http_headers: nil)
275
+ # approve - Approve a partner application
276
+ # Approve a pending partner application to your program. The partner will be enrolled in the specified group and notified of the approval.
277
+ url, params = @sdk_configuration.get_server_details
278
+ base_url = Utils.template_url(url, params)
279
+ url = "#{base_url}/partners/applications/approve"
280
+ headers = {}
281
+ headers = T.cast(headers, T::Hash[String, String])
282
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request, :json)
283
+ headers['content-type'] = req_content_type
284
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
285
+
286
+ if form && !form.empty?
287
+ body = Utils.encode_form(form)
288
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
289
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
290
+ else
291
+ body = data
292
+ end
293
+ headers['Accept'] = 'application/json'
294
+ headers['user-agent'] = @sdk_configuration.user_agent
295
+
296
+ security = @sdk_configuration.security_source&.call
297
+
298
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
299
+ timeout ||= @sdk_configuration.timeout
300
+
301
+
302
+ connection = @sdk_configuration.client
303
+
304
+ hook_ctx = SDKHooks::HookContext.new(
305
+ config: @sdk_configuration,
306
+ base_url: base_url,
307
+ oauth2_scopes: nil,
308
+ operation_id: 'approvePartner',
309
+ security_source: @sdk_configuration.security_source
310
+ )
311
+
312
+ error = T.let(nil, T.nilable(StandardError))
313
+ http_response = T.let(nil, T.nilable(Faraday::Response))
314
+
315
+
316
+ begin
317
+ http_response = T.must(connection).post(url) do |req|
318
+ req.body = body
319
+ req.headers.merge!(headers)
320
+ req.options.timeout = timeout unless timeout.nil?
321
+ Utils.configure_request_security(req, security)
322
+ http_headers&.each do |key, value|
323
+ req.headers[key.to_s] = value
324
+ end
325
+
326
+ @sdk_configuration.hooks.before_request(
327
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
328
+ hook_ctx: hook_ctx
329
+ ),
330
+ request: req
331
+ )
332
+ end
333
+ rescue StandardError => e
334
+ error = e
335
+ ensure
336
+ if http_response.nil? || Utils.error_status?(http_response.status)
337
+ http_response = @sdk_configuration.hooks.after_error(
338
+ error: error,
339
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
340
+ hook_ctx: hook_ctx
341
+ ),
342
+ response: http_response
343
+ )
344
+ else
345
+ http_response = @sdk_configuration.hooks.after_success(
346
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
347
+ hook_ctx: hook_ctx
348
+ ),
349
+ response: http_response
350
+ )
351
+ end
352
+
353
+ if http_response.nil?
354
+ raise error if !error.nil?
355
+ raise 'no response'
356
+ end
357
+ end
358
+
359
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
360
+ if Utils.match_status_code(http_response.status, ['200'])
361
+ if Utils.match_content_type(content_type, 'application/json')
362
+ @sdk_configuration.hooks.after_success(
363
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
364
+ hook_ctx: hook_ctx
365
+ ),
366
+ response: http_response
367
+ )
368
+ response_data = http_response.env.response_body
369
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ApprovePartnerResponseBody)
370
+
371
+ return obj
372
+ else
373
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
374
+ end
375
+ elsif Utils.match_status_code(http_response.status, ['400'])
376
+ if Utils.match_content_type(content_type, 'application/json')
377
+ @sdk_configuration.hooks.after_success(
378
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
379
+ hook_ctx: hook_ctx
380
+ ),
381
+ response: http_response
382
+ )
383
+ response_data = http_response.env.response_body
384
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequest)
385
+ raise obj
386
+ else
387
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
388
+ end
389
+ elsif Utils.match_status_code(http_response.status, ['401'])
390
+ if Utils.match_content_type(content_type, 'application/json')
391
+ @sdk_configuration.hooks.after_success(
392
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
393
+ hook_ctx: hook_ctx
394
+ ),
395
+ response: http_response
396
+ )
397
+ response_data = http_response.env.response_body
398
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Unauthorized)
399
+ raise obj
400
+ else
401
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
402
+ end
403
+ elsif Utils.match_status_code(http_response.status, ['403'])
404
+ if Utils.match_content_type(content_type, 'application/json')
405
+ @sdk_configuration.hooks.after_success(
406
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
407
+ hook_ctx: hook_ctx
408
+ ),
409
+ response: http_response
410
+ )
411
+ response_data = http_response.env.response_body
412
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Forbidden)
413
+ raise obj
414
+ else
415
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
416
+ end
417
+ elsif Utils.match_status_code(http_response.status, ['404'])
418
+ if Utils.match_content_type(content_type, 'application/json')
419
+ @sdk_configuration.hooks.after_success(
420
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
421
+ hook_ctx: hook_ctx
422
+ ),
423
+ response: http_response
424
+ )
425
+ response_data = http_response.env.response_body
426
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFound)
427
+ raise obj
428
+ else
429
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
430
+ end
431
+ elsif Utils.match_status_code(http_response.status, ['409'])
432
+ if Utils.match_content_type(content_type, 'application/json')
433
+ @sdk_configuration.hooks.after_success(
434
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
435
+ hook_ctx: hook_ctx
436
+ ),
437
+ response: http_response
438
+ )
439
+ response_data = http_response.env.response_body
440
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Conflict)
441
+ raise obj
442
+ else
443
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
444
+ end
445
+ elsif Utils.match_status_code(http_response.status, ['410'])
446
+ if Utils.match_content_type(content_type, 'application/json')
447
+ @sdk_configuration.hooks.after_success(
448
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
449
+ hook_ctx: hook_ctx
450
+ ),
451
+ response: http_response
452
+ )
453
+ response_data = http_response.env.response_body
454
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InviteExpired)
455
+ raise obj
456
+ else
457
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
458
+ end
459
+ elsif Utils.match_status_code(http_response.status, ['422'])
460
+ if Utils.match_content_type(content_type, 'application/json')
461
+ @sdk_configuration.hooks.after_success(
462
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
463
+ hook_ctx: hook_ctx
464
+ ),
465
+ response: http_response
466
+ )
467
+ response_data = http_response.env.response_body
468
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntity)
469
+ raise obj
470
+ else
471
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
472
+ end
473
+ elsif Utils.match_status_code(http_response.status, ['429'])
474
+ if Utils.match_content_type(content_type, 'application/json')
475
+ @sdk_configuration.hooks.after_success(
476
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
477
+ hook_ctx: hook_ctx
478
+ ),
479
+ response: http_response
480
+ )
481
+ response_data = http_response.env.response_body
482
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitExceeded)
483
+ raise obj
484
+ else
485
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
486
+ end
487
+ elsif Utils.match_status_code(http_response.status, ['500'])
488
+ if Utils.match_content_type(content_type, 'application/json')
489
+ @sdk_configuration.hooks.after_success(
490
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
491
+ hook_ctx: hook_ctx
492
+ ),
493
+ response: http_response
494
+ )
495
+ response_data = http_response.env.response_body
496
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InternalServerError)
497
+ raise obj
498
+ else
499
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
500
+ end
501
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
502
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
503
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
504
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
505
+ else
506
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
507
+
508
+ end
509
+ end
510
+
511
+
512
+ sig { params(request: Models::Operations::RejectPartnerRequestBody, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::RejectPartnerResponseBody) }
513
+ def reject(request:, timeout_ms: nil, http_headers: nil)
514
+ # reject - Reject a partner application
515
+ # Reject a pending partner application to your program. The partner will be notified via email that their application was not approved.
516
+ url, params = @sdk_configuration.get_server_details
517
+ base_url = Utils.template_url(url, params)
518
+ url = "#{base_url}/partners/applications/reject"
519
+ headers = {}
520
+ headers = T.cast(headers, T::Hash[String, String])
521
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request, :json)
522
+ headers['content-type'] = req_content_type
523
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
524
+
525
+ if form && !form.empty?
526
+ body = Utils.encode_form(form)
527
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
528
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
529
+ else
530
+ body = data
531
+ end
532
+ headers['Accept'] = 'application/json'
533
+ headers['user-agent'] = @sdk_configuration.user_agent
534
+
535
+ security = @sdk_configuration.security_source&.call
536
+
537
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
538
+ timeout ||= @sdk_configuration.timeout
539
+
540
+
541
+ connection = @sdk_configuration.client
542
+
543
+ hook_ctx = SDKHooks::HookContext.new(
544
+ config: @sdk_configuration,
545
+ base_url: base_url,
546
+ oauth2_scopes: nil,
547
+ operation_id: 'rejectPartner',
548
+ security_source: @sdk_configuration.security_source
549
+ )
550
+
551
+ error = T.let(nil, T.nilable(StandardError))
552
+ http_response = T.let(nil, T.nilable(Faraday::Response))
553
+
554
+
555
+ begin
556
+ http_response = T.must(connection).post(url) do |req|
557
+ req.body = body
558
+ req.headers.merge!(headers)
559
+ req.options.timeout = timeout unless timeout.nil?
560
+ Utils.configure_request_security(req, security)
561
+ http_headers&.each do |key, value|
562
+ req.headers[key.to_s] = value
563
+ end
564
+
565
+ @sdk_configuration.hooks.before_request(
566
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
567
+ hook_ctx: hook_ctx
568
+ ),
569
+ request: req
570
+ )
571
+ end
572
+ rescue StandardError => e
573
+ error = e
574
+ ensure
575
+ if http_response.nil? || Utils.error_status?(http_response.status)
576
+ http_response = @sdk_configuration.hooks.after_error(
577
+ error: error,
578
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
579
+ hook_ctx: hook_ctx
580
+ ),
581
+ response: http_response
582
+ )
583
+ else
584
+ http_response = @sdk_configuration.hooks.after_success(
585
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
586
+ hook_ctx: hook_ctx
587
+ ),
588
+ response: http_response
589
+ )
590
+ end
591
+
592
+ if http_response.nil?
593
+ raise error if !error.nil?
594
+ raise 'no response'
595
+ end
596
+ end
597
+
598
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
599
+ if Utils.match_status_code(http_response.status, ['200'])
600
+ if Utils.match_content_type(content_type, 'application/json')
601
+ @sdk_configuration.hooks.after_success(
602
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
603
+ hook_ctx: hook_ctx
604
+ ),
605
+ response: http_response
606
+ )
607
+ response_data = http_response.env.response_body
608
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::RejectPartnerResponseBody)
609
+
610
+ return obj
611
+ else
612
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
613
+ end
614
+ elsif Utils.match_status_code(http_response.status, ['400'])
615
+ if Utils.match_content_type(content_type, 'application/json')
616
+ @sdk_configuration.hooks.after_success(
617
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
618
+ hook_ctx: hook_ctx
619
+ ),
620
+ response: http_response
621
+ )
622
+ response_data = http_response.env.response_body
623
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequest)
624
+ raise obj
625
+ else
626
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
627
+ end
628
+ elsif Utils.match_status_code(http_response.status, ['401'])
629
+ if Utils.match_content_type(content_type, 'application/json')
630
+ @sdk_configuration.hooks.after_success(
631
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
632
+ hook_ctx: hook_ctx
633
+ ),
634
+ response: http_response
635
+ )
636
+ response_data = http_response.env.response_body
637
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Unauthorized)
638
+ raise obj
639
+ else
640
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
641
+ end
642
+ elsif Utils.match_status_code(http_response.status, ['403'])
643
+ if Utils.match_content_type(content_type, 'application/json')
644
+ @sdk_configuration.hooks.after_success(
645
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
646
+ hook_ctx: hook_ctx
647
+ ),
648
+ response: http_response
649
+ )
650
+ response_data = http_response.env.response_body
651
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Forbidden)
652
+ raise obj
653
+ else
654
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
655
+ end
656
+ elsif Utils.match_status_code(http_response.status, ['404'])
657
+ if Utils.match_content_type(content_type, 'application/json')
658
+ @sdk_configuration.hooks.after_success(
659
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
660
+ hook_ctx: hook_ctx
661
+ ),
662
+ response: http_response
663
+ )
664
+ response_data = http_response.env.response_body
665
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFound)
666
+ raise obj
667
+ else
668
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
669
+ end
670
+ elsif Utils.match_status_code(http_response.status, ['409'])
671
+ if Utils.match_content_type(content_type, 'application/json')
672
+ @sdk_configuration.hooks.after_success(
673
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
674
+ hook_ctx: hook_ctx
675
+ ),
676
+ response: http_response
677
+ )
678
+ response_data = http_response.env.response_body
679
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Conflict)
680
+ raise obj
681
+ else
682
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
683
+ end
684
+ elsif Utils.match_status_code(http_response.status, ['410'])
685
+ if Utils.match_content_type(content_type, 'application/json')
686
+ @sdk_configuration.hooks.after_success(
687
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
688
+ hook_ctx: hook_ctx
689
+ ),
690
+ response: http_response
691
+ )
692
+ response_data = http_response.env.response_body
693
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InviteExpired)
694
+ raise obj
695
+ else
696
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
697
+ end
698
+ elsif Utils.match_status_code(http_response.status, ['422'])
699
+ if Utils.match_content_type(content_type, 'application/json')
700
+ @sdk_configuration.hooks.after_success(
701
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
702
+ hook_ctx: hook_ctx
703
+ ),
704
+ response: http_response
705
+ )
706
+ response_data = http_response.env.response_body
707
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntity)
708
+ raise obj
709
+ else
710
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
711
+ end
712
+ elsif Utils.match_status_code(http_response.status, ['429'])
713
+ if Utils.match_content_type(content_type, 'application/json')
714
+ @sdk_configuration.hooks.after_success(
715
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
716
+ hook_ctx: hook_ctx
717
+ ),
718
+ response: http_response
719
+ )
720
+ response_data = http_response.env.response_body
721
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitExceeded)
722
+ raise obj
723
+ else
724
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
725
+ end
726
+ elsif Utils.match_status_code(http_response.status, ['500'])
727
+ if Utils.match_content_type(content_type, 'application/json')
728
+ @sdk_configuration.hooks.after_success(
729
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
730
+ hook_ctx: hook_ctx
731
+ ),
732
+ response: http_response
733
+ )
734
+ response_data = http_response.env.response_body
735
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InternalServerError)
736
+ raise obj
737
+ else
738
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
739
+ end
740
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
741
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
742
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
743
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
744
+ else
745
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
746
+
747
+ end
748
+ end
749
+ end
750
+ end