dub 0.12.1 → 0.12.2

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -0
  3. data/lib/open_api_sdk/bounties.rb +752 -0
  4. data/lib/open_api_sdk/dub.rb +2 -1
  5. data/lib/open_api_sdk/models/operations/approvebountysubmission_files.rb +41 -0
  6. data/lib/open_api_sdk/models/operations/approvebountysubmission_files.rbi +17 -0
  7. data/lib/open_api_sdk/models/operations/approvebountysubmission_request.rb +41 -0
  8. data/lib/open_api_sdk/models/operations/approvebountysubmission_request.rbi +17 -0
  9. data/lib/open_api_sdk/models/operations/approvebountysubmission_requestbody.rb +33 -0
  10. data/lib/open_api_sdk/models/operations/approvebountysubmission_requestbody.rbi +13 -0
  11. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rb +81 -0
  12. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rbi +37 -0
  13. data/lib/open_api_sdk/models/operations/approvebountysubmission_status.rb +24 -0
  14. data/lib/open_api_sdk/models/operations/approvebountysubmission_status.rbi +11 -0
  15. data/lib/open_api_sdk/models/operations/files.rb +41 -0
  16. data/lib/open_api_sdk/models/operations/files.rbi +17 -0
  17. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortby.rb +22 -0
  18. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortby.rbi +11 -0
  19. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortorder.rb +22 -0
  20. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortorder.rbi +11 -0
  21. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_status.rb +24 -0
  22. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_status.rbi +11 -0
  23. data/lib/open_api_sdk/models/operations/listbountysubmissions_request.rb +61 -0
  24. data/lib/open_api_sdk/models/operations/listbountysubmissions_request.rbi +27 -0
  25. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rb +81 -0
  26. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rbi +37 -0
  27. data/lib/open_api_sdk/models/operations/listbountysubmissions_status.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/listbountysubmissions_status.rbi +11 -0
  29. data/lib/open_api_sdk/models/operations/rejectbountysubmission_files.rb +41 -0
  30. data/lib/open_api_sdk/models/operations/rejectbountysubmission_files.rbi +17 -0
  31. data/lib/open_api_sdk/models/operations/rejectbountysubmission_request.rb +41 -0
  32. data/lib/open_api_sdk/models/operations/rejectbountysubmission_request.rbi +17 -0
  33. data/lib/open_api_sdk/models/operations/rejectbountysubmission_requestbody.rb +37 -0
  34. data/lib/open_api_sdk/models/operations/rejectbountysubmission_requestbody.rbi +15 -0
  35. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rb +81 -0
  36. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rbi +37 -0
  37. data/lib/open_api_sdk/models/operations/rejectbountysubmission_status.rb +24 -0
  38. data/lib/open_api_sdk/models/operations/rejectbountysubmission_status.rbi +11 -0
  39. data/lib/open_api_sdk/models/operations/rejectionreason.rb +25 -0
  40. data/lib/open_api_sdk/models/operations/rejectionreason.rbi +11 -0
  41. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +6 -6
  42. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rbi +2 -2
  43. data/lib/open_api_sdk/models/operations.rb +18 -0
  44. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rb +6 -2
  45. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rbi +2 -0
  46. data/lib/open_api_sdk/models/shared/commissioncreatedevent_link.rb +45 -0
  47. data/lib/open_api_sdk/models/shared/commissioncreatedevent_link.rbi +19 -0
  48. data/lib/open_api_sdk/models/shared.rb +1 -0
  49. data/lib/open_api_sdk/sdkconfiguration.rb +2 -2
  50. metadata +41 -2
@@ -0,0 +1,752 @@
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 Bounties
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
+ sig { params(request: Models::Operations::ListBountySubmissionsRequest, timeout_ms: T.nilable(Integer)).returns(T::Array[Models::Operations::ListBountySubmissionsResponseBody]) }
43
+ def list_submissions(request:, timeout_ms: nil)
44
+ # list_submissions - List bounty submissions
45
+ # List all submissions for a specific bounty.
46
+ url, params = @sdk_configuration.get_server_details
47
+ base_url = Utils.template_url(url, params)
48
+ url = Utils.generate_url(
49
+ Models::Operations::ListBountySubmissionsRequest,
50
+ base_url,
51
+ '/bounties/{bountyId}/submissions',
52
+ request
53
+ )
54
+ headers = {}
55
+ headers = T.cast(headers, T::Hash[String, String])
56
+ query_params = Utils.get_query_params(Models::Operations::ListBountySubmissionsRequest, request, nil)
57
+ headers['Accept'] = 'application/json'
58
+ headers['user-agent'] = @sdk_configuration.user_agent
59
+
60
+ security = @sdk_configuration.security_source&.call
61
+
62
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
63
+ timeout ||= @sdk_configuration.timeout
64
+
65
+
66
+ connection = @sdk_configuration.client
67
+
68
+ hook_ctx = SDKHooks::HookContext.new(
69
+ config: @sdk_configuration,
70
+ base_url: base_url,
71
+ oauth2_scopes: nil,
72
+ operation_id: 'listBountySubmissions',
73
+ security_source: @sdk_configuration.security_source
74
+ )
75
+
76
+ error = T.let(nil, T.nilable(StandardError))
77
+ http_response = T.let(nil, T.nilable(Faraday::Response))
78
+
79
+
80
+ begin
81
+ http_response = T.must(connection).get(url) do |req|
82
+ req.headers.merge!(headers)
83
+ req.options.timeout = timeout unless timeout.nil?
84
+ req.params = query_params
85
+ Utils.configure_request_security(req, security)
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::ListBountySubmissionsResponseBody))
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::ApproveBountySubmissionRequest, timeout_ms: T.nilable(Integer)).returns(Models::Operations::ApproveBountySubmissionResponseBody) }
274
+ def approve_submission(request:, timeout_ms: nil)
275
+ # approve_submission - Approve a bounty submission
276
+ # Approve a bounty submission. Optionally specify a custom reward amount.
277
+ url, params = @sdk_configuration.get_server_details
278
+ base_url = Utils.template_url(url, params)
279
+ url = Utils.generate_url(
280
+ Models::Operations::ApproveBountySubmissionRequest,
281
+ base_url,
282
+ '/bounties/{bountyId}/submissions/{submissionId}/approve',
283
+ request
284
+ )
285
+ headers = {}
286
+ headers = T.cast(headers, T::Hash[String, String])
287
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
288
+ headers['content-type'] = req_content_type
289
+
290
+ if form
291
+ body = Utils.encode_form(form)
292
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
293
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
294
+ else
295
+ body = data
296
+ end
297
+ headers['Accept'] = 'application/json'
298
+ headers['user-agent'] = @sdk_configuration.user_agent
299
+
300
+ security = @sdk_configuration.security_source&.call
301
+
302
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
303
+ timeout ||= @sdk_configuration.timeout
304
+
305
+
306
+ connection = @sdk_configuration.client
307
+
308
+ hook_ctx = SDKHooks::HookContext.new(
309
+ config: @sdk_configuration,
310
+ base_url: base_url,
311
+ oauth2_scopes: nil,
312
+ operation_id: 'approveBountySubmission',
313
+ security_source: @sdk_configuration.security_source
314
+ )
315
+
316
+ error = T.let(nil, T.nilable(StandardError))
317
+ http_response = T.let(nil, T.nilable(Faraday::Response))
318
+
319
+
320
+ begin
321
+ http_response = T.must(connection).post(url) do |req|
322
+ req.body = body
323
+ req.headers.merge!(headers)
324
+ req.options.timeout = timeout unless timeout.nil?
325
+ Utils.configure_request_security(req, security)
326
+
327
+ @sdk_configuration.hooks.before_request(
328
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
329
+ hook_ctx: hook_ctx
330
+ ),
331
+ request: req
332
+ )
333
+ end
334
+ rescue StandardError => e
335
+ error = e
336
+ ensure
337
+ if http_response.nil? || Utils.error_status?(http_response.status)
338
+ http_response = @sdk_configuration.hooks.after_error(
339
+ error: error,
340
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
341
+ hook_ctx: hook_ctx
342
+ ),
343
+ response: http_response
344
+ )
345
+ else
346
+ http_response = @sdk_configuration.hooks.after_success(
347
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
348
+ hook_ctx: hook_ctx
349
+ ),
350
+ response: http_response
351
+ )
352
+ end
353
+
354
+ if http_response.nil?
355
+ raise error if !error.nil?
356
+ raise 'no response'
357
+ end
358
+ end
359
+
360
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
361
+ if Utils.match_status_code(http_response.status, ['200'])
362
+ if Utils.match_content_type(content_type, 'application/json')
363
+ @sdk_configuration.hooks.after_success(
364
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
365
+ hook_ctx: hook_ctx
366
+ ),
367
+ response: http_response
368
+ )
369
+ response_data = http_response.env.response_body
370
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ApproveBountySubmissionResponseBody)
371
+
372
+ return obj
373
+ else
374
+ 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'
375
+ end
376
+ elsif Utils.match_status_code(http_response.status, ['400'])
377
+ if Utils.match_content_type(content_type, 'application/json')
378
+ @sdk_configuration.hooks.after_success(
379
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
380
+ hook_ctx: hook_ctx
381
+ ),
382
+ response: http_response
383
+ )
384
+ response_data = http_response.env.response_body
385
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequest)
386
+ raise obj
387
+ else
388
+ 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'
389
+ end
390
+ elsif Utils.match_status_code(http_response.status, ['401'])
391
+ if Utils.match_content_type(content_type, 'application/json')
392
+ @sdk_configuration.hooks.after_success(
393
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
394
+ hook_ctx: hook_ctx
395
+ ),
396
+ response: http_response
397
+ )
398
+ response_data = http_response.env.response_body
399
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Unauthorized)
400
+ raise obj
401
+ else
402
+ 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'
403
+ end
404
+ elsif Utils.match_status_code(http_response.status, ['403'])
405
+ if Utils.match_content_type(content_type, 'application/json')
406
+ @sdk_configuration.hooks.after_success(
407
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
408
+ hook_ctx: hook_ctx
409
+ ),
410
+ response: http_response
411
+ )
412
+ response_data = http_response.env.response_body
413
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Forbidden)
414
+ raise obj
415
+ else
416
+ 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'
417
+ end
418
+ elsif Utils.match_status_code(http_response.status, ['404'])
419
+ if Utils.match_content_type(content_type, 'application/json')
420
+ @sdk_configuration.hooks.after_success(
421
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
422
+ hook_ctx: hook_ctx
423
+ ),
424
+ response: http_response
425
+ )
426
+ response_data = http_response.env.response_body
427
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFound)
428
+ raise obj
429
+ else
430
+ 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'
431
+ end
432
+ elsif Utils.match_status_code(http_response.status, ['409'])
433
+ if Utils.match_content_type(content_type, 'application/json')
434
+ @sdk_configuration.hooks.after_success(
435
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
436
+ hook_ctx: hook_ctx
437
+ ),
438
+ response: http_response
439
+ )
440
+ response_data = http_response.env.response_body
441
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Conflict)
442
+ raise obj
443
+ else
444
+ 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'
445
+ end
446
+ elsif Utils.match_status_code(http_response.status, ['410'])
447
+ if Utils.match_content_type(content_type, 'application/json')
448
+ @sdk_configuration.hooks.after_success(
449
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
450
+ hook_ctx: hook_ctx
451
+ ),
452
+ response: http_response
453
+ )
454
+ response_data = http_response.env.response_body
455
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InviteExpired)
456
+ raise obj
457
+ else
458
+ 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'
459
+ end
460
+ elsif Utils.match_status_code(http_response.status, ['422'])
461
+ if Utils.match_content_type(content_type, 'application/json')
462
+ @sdk_configuration.hooks.after_success(
463
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
464
+ hook_ctx: hook_ctx
465
+ ),
466
+ response: http_response
467
+ )
468
+ response_data = http_response.env.response_body
469
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntity)
470
+ raise obj
471
+ else
472
+ 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'
473
+ end
474
+ elsif Utils.match_status_code(http_response.status, ['429'])
475
+ if Utils.match_content_type(content_type, 'application/json')
476
+ @sdk_configuration.hooks.after_success(
477
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
478
+ hook_ctx: hook_ctx
479
+ ),
480
+ response: http_response
481
+ )
482
+ response_data = http_response.env.response_body
483
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitExceeded)
484
+ raise obj
485
+ else
486
+ 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'
487
+ end
488
+ elsif Utils.match_status_code(http_response.status, ['500'])
489
+ if Utils.match_content_type(content_type, 'application/json')
490
+ @sdk_configuration.hooks.after_success(
491
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
492
+ hook_ctx: hook_ctx
493
+ ),
494
+ response: http_response
495
+ )
496
+ response_data = http_response.env.response_body
497
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InternalServerError)
498
+ raise obj
499
+ else
500
+ 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'
501
+ end
502
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
503
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
504
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
505
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
506
+ else
507
+ 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'
508
+
509
+ end
510
+ end
511
+
512
+
513
+ sig { params(request: Models::Operations::RejectBountySubmissionRequest, timeout_ms: T.nilable(Integer)).returns(Models::Operations::RejectBountySubmissionResponseBody) }
514
+ def reject_submission(request:, timeout_ms: nil)
515
+ # reject_submission - Reject a bounty submission
516
+ # Reject a bounty submission with a specified reason and optional note.
517
+ url, params = @sdk_configuration.get_server_details
518
+ base_url = Utils.template_url(url, params)
519
+ url = Utils.generate_url(
520
+ Models::Operations::RejectBountySubmissionRequest,
521
+ base_url,
522
+ '/bounties/{bountyId}/submissions/{submissionId}/reject',
523
+ request
524
+ )
525
+ headers = {}
526
+ headers = T.cast(headers, T::Hash[String, String])
527
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
528
+ headers['content-type'] = req_content_type
529
+
530
+ if form
531
+ body = Utils.encode_form(form)
532
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
533
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
534
+ else
535
+ body = data
536
+ end
537
+ headers['Accept'] = 'application/json'
538
+ headers['user-agent'] = @sdk_configuration.user_agent
539
+
540
+ security = @sdk_configuration.security_source&.call
541
+
542
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
543
+ timeout ||= @sdk_configuration.timeout
544
+
545
+
546
+ connection = @sdk_configuration.client
547
+
548
+ hook_ctx = SDKHooks::HookContext.new(
549
+ config: @sdk_configuration,
550
+ base_url: base_url,
551
+ oauth2_scopes: nil,
552
+ operation_id: 'rejectBountySubmission',
553
+ security_source: @sdk_configuration.security_source
554
+ )
555
+
556
+ error = T.let(nil, T.nilable(StandardError))
557
+ http_response = T.let(nil, T.nilable(Faraday::Response))
558
+
559
+
560
+ begin
561
+ http_response = T.must(connection).post(url) do |req|
562
+ req.body = body
563
+ req.headers.merge!(headers)
564
+ req.options.timeout = timeout unless timeout.nil?
565
+ Utils.configure_request_security(req, security)
566
+
567
+ @sdk_configuration.hooks.before_request(
568
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
569
+ hook_ctx: hook_ctx
570
+ ),
571
+ request: req
572
+ )
573
+ end
574
+ rescue StandardError => e
575
+ error = e
576
+ ensure
577
+ if http_response.nil? || Utils.error_status?(http_response.status)
578
+ http_response = @sdk_configuration.hooks.after_error(
579
+ error: error,
580
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
581
+ hook_ctx: hook_ctx
582
+ ),
583
+ response: http_response
584
+ )
585
+ else
586
+ http_response = @sdk_configuration.hooks.after_success(
587
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
588
+ hook_ctx: hook_ctx
589
+ ),
590
+ response: http_response
591
+ )
592
+ end
593
+
594
+ if http_response.nil?
595
+ raise error if !error.nil?
596
+ raise 'no response'
597
+ end
598
+ end
599
+
600
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
601
+ if Utils.match_status_code(http_response.status, ['200'])
602
+ if Utils.match_content_type(content_type, 'application/json')
603
+ @sdk_configuration.hooks.after_success(
604
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
605
+ hook_ctx: hook_ctx
606
+ ),
607
+ response: http_response
608
+ )
609
+ response_data = http_response.env.response_body
610
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::RejectBountySubmissionResponseBody)
611
+
612
+ return obj
613
+ else
614
+ 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'
615
+ end
616
+ elsif Utils.match_status_code(http_response.status, ['400'])
617
+ if Utils.match_content_type(content_type, 'application/json')
618
+ @sdk_configuration.hooks.after_success(
619
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
620
+ hook_ctx: hook_ctx
621
+ ),
622
+ response: http_response
623
+ )
624
+ response_data = http_response.env.response_body
625
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequest)
626
+ raise obj
627
+ else
628
+ 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'
629
+ end
630
+ elsif Utils.match_status_code(http_response.status, ['401'])
631
+ if Utils.match_content_type(content_type, 'application/json')
632
+ @sdk_configuration.hooks.after_success(
633
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
634
+ hook_ctx: hook_ctx
635
+ ),
636
+ response: http_response
637
+ )
638
+ response_data = http_response.env.response_body
639
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Unauthorized)
640
+ raise obj
641
+ else
642
+ 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'
643
+ end
644
+ elsif Utils.match_status_code(http_response.status, ['403'])
645
+ if Utils.match_content_type(content_type, 'application/json')
646
+ @sdk_configuration.hooks.after_success(
647
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
648
+ hook_ctx: hook_ctx
649
+ ),
650
+ response: http_response
651
+ )
652
+ response_data = http_response.env.response_body
653
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Forbidden)
654
+ raise obj
655
+ else
656
+ 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'
657
+ end
658
+ elsif Utils.match_status_code(http_response.status, ['404'])
659
+ if Utils.match_content_type(content_type, 'application/json')
660
+ @sdk_configuration.hooks.after_success(
661
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
662
+ hook_ctx: hook_ctx
663
+ ),
664
+ response: http_response
665
+ )
666
+ response_data = http_response.env.response_body
667
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFound)
668
+ raise obj
669
+ else
670
+ 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'
671
+ end
672
+ elsif Utils.match_status_code(http_response.status, ['409'])
673
+ if Utils.match_content_type(content_type, 'application/json')
674
+ @sdk_configuration.hooks.after_success(
675
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
676
+ hook_ctx: hook_ctx
677
+ ),
678
+ response: http_response
679
+ )
680
+ response_data = http_response.env.response_body
681
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::Conflict)
682
+ raise obj
683
+ else
684
+ 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'
685
+ end
686
+ elsif Utils.match_status_code(http_response.status, ['410'])
687
+ if Utils.match_content_type(content_type, 'application/json')
688
+ @sdk_configuration.hooks.after_success(
689
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
690
+ hook_ctx: hook_ctx
691
+ ),
692
+ response: http_response
693
+ )
694
+ response_data = http_response.env.response_body
695
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InviteExpired)
696
+ raise obj
697
+ else
698
+ 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'
699
+ end
700
+ elsif Utils.match_status_code(http_response.status, ['422'])
701
+ if Utils.match_content_type(content_type, 'application/json')
702
+ @sdk_configuration.hooks.after_success(
703
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
704
+ hook_ctx: hook_ctx
705
+ ),
706
+ response: http_response
707
+ )
708
+ response_data = http_response.env.response_body
709
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntity)
710
+ raise obj
711
+ else
712
+ 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'
713
+ end
714
+ elsif Utils.match_status_code(http_response.status, ['429'])
715
+ if Utils.match_content_type(content_type, 'application/json')
716
+ @sdk_configuration.hooks.after_success(
717
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
718
+ hook_ctx: hook_ctx
719
+ ),
720
+ response: http_response
721
+ )
722
+ response_data = http_response.env.response_body
723
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitExceeded)
724
+ raise obj
725
+ else
726
+ 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'
727
+ end
728
+ elsif Utils.match_status_code(http_response.status, ['500'])
729
+ if Utils.match_content_type(content_type, 'application/json')
730
+ @sdk_configuration.hooks.after_success(
731
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
732
+ hook_ctx: hook_ctx
733
+ ),
734
+ response: http_response
735
+ )
736
+ response_data = http_response.env.response_body
737
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InternalServerError)
738
+ raise obj
739
+ else
740
+ 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'
741
+ end
742
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
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
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
745
+ raise ::OpenApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
746
+ else
747
+ 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'
748
+
749
+ end
750
+ end
751
+ end
752
+ end