ding_sdk 0.14.2 → 0.14.3

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/metadata_fields.rb +5 -5
  3. data/lib/crystalline/utils.rb +2 -6
  4. data/lib/ding_sdk/ding.rb +4 -4
  5. data/lib/ding_sdk/lookup.rb +17 -18
  6. data/lib/ding_sdk/models/errors/apierror.rb +38 -0
  7. data/lib/ding_sdk/models/errors/code.rb +41 -0
  8. data/lib/ding_sdk/models/errors/errorresponse.rb +41 -0
  9. data/lib/ding_sdk/models/errors.rb +14 -0
  10. data/lib/ding_sdk/models/operations/check_response.rb +34 -35
  11. data/lib/ding_sdk/models/operations/create_authentication_response.rb +34 -35
  12. data/lib/ding_sdk/models/operations/feedback_response.rb +34 -35
  13. data/lib/ding_sdk/models/operations/getauthenticationstatus_request.rb +16 -13
  14. data/lib/ding_sdk/models/operations/getauthenticationstatus_response.rb +34 -35
  15. data/lib/ding_sdk/models/operations/lookup_request.rb +22 -19
  16. data/lib/ding_sdk/models/operations/lookup_response.rb +34 -35
  17. data/lib/ding_sdk/models/operations/retry_response.rb +34 -35
  18. data/lib/ding_sdk/models/operations/type.rb +7 -5
  19. data/lib/ding_sdk/models/operations.rb +12 -10
  20. data/lib/ding_sdk/models/shared/attempt.rb +50 -47
  21. data/lib/ding_sdk/models/shared/authenticationstatusresponse.rb +46 -43
  22. data/lib/ding_sdk/models/shared/authenticationstatusresponse_device_type.rb +12 -10
  23. data/lib/ding_sdk/models/shared/authenticationstatusresponse_schemas_events_type.rb +11 -9
  24. data/lib/ding_sdk/models/shared/authenticationstatusresponse_schemas_status.rb +18 -16
  25. data/lib/ding_sdk/models/shared/authenticationstatusresponse_schemas_type.rb +11 -9
  26. data/lib/ding_sdk/models/shared/authenticationstatusresponse_status.rb +18 -16
  27. data/lib/ding_sdk/models/shared/authenticationstatusresponse_type.rb +11 -9
  28. data/lib/ding_sdk/models/shared/balance_update.rb +34 -31
  29. data/lib/ding_sdk/models/shared/balance_update_type.rb +13 -11
  30. data/lib/ding_sdk/models/shared/capability.rb +11 -9
  31. data/lib/ding_sdk/models/shared/check.rb +38 -35
  32. data/lib/ding_sdk/models/shared/checkstatus.rb +22 -20
  33. data/lib/ding_sdk/models/shared/createauthenticationrequest.rb +73 -70
  34. data/lib/ding_sdk/models/shared/createauthenticationresponse.rb +38 -35
  35. data/lib/ding_sdk/models/shared/createcheckrequest.rb +30 -27
  36. data/lib/ding_sdk/models/shared/createcheckresponse.rb +20 -17
  37. data/lib/ding_sdk/models/shared/delivery_status.rb +48 -45
  38. data/lib/ding_sdk/models/shared/device_type.rb +10 -8
  39. data/lib/ding_sdk/models/shared/events.rb +12 -9
  40. data/lib/ding_sdk/models/shared/feedbackrequest.rb +30 -27
  41. data/lib/ding_sdk/models/shared/feedbackrequest_status.rb +9 -7
  42. data/lib/ding_sdk/models/shared/feedbackresponse.rb +17 -14
  43. data/lib/ding_sdk/models/shared/line_type.rb +46 -44
  44. data/lib/ding_sdk/models/shared/lookupresponse.rb +69 -66
  45. data/lib/ding_sdk/models/shared/retryauthenticationrequest.rb +26 -23
  46. data/lib/ding_sdk/models/shared/retryauthenticationresponse.rb +45 -42
  47. data/lib/ding_sdk/models/shared/retryauthenticationresponse_status.rb +20 -18
  48. data/lib/ding_sdk/models/shared/security.rb +16 -13
  49. data/lib/ding_sdk/models/shared/signals.rb +46 -43
  50. data/lib/ding_sdk/models/shared/status.rb +14 -12
  51. data/lib/ding_sdk/models/shared/type.rb +11 -9
  52. data/lib/ding_sdk/models/shared.rb +35 -35
  53. data/lib/ding_sdk/otp.rb +72 -77
  54. data/lib/ding_sdk/sdkconfiguration.rb +9 -7
  55. data/lib/ding_sdk/utils/utils.rb +7 -7
  56. data/lib/ding_sdk.rb +5 -2
  57. metadata +6 -4
  58. data/lib/ding_sdk/models/shared/code.rb +0 -39
  59. data/lib/ding_sdk/models/shared/errorresponse.rb +0 -38
@@ -4,40 +4,40 @@
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module DingSDK
7
- module Shared
8
- autoload :Attempt, 'ding_sdk/models/shared/attempt.rb'
9
- autoload :AuthenticationStatusResponse, 'ding_sdk/models/shared/authenticationstatusresponse.rb'
10
- autoload :AuthenticationStatusResponseSchemasEventsType, 'ding_sdk/models/shared/authenticationstatusresponse_schemas_events_type.rb'
11
- autoload :AuthenticationStatusResponseSchemasStatus, 'ding_sdk/models/shared/authenticationstatusresponse_schemas_status.rb'
12
- autoload :AuthenticationStatusResponseSchemasType, 'ding_sdk/models/shared/authenticationstatusresponse_schemas_type.rb'
13
- autoload :AuthenticationStatusResponseDeviceType, 'ding_sdk/models/shared/authenticationstatusresponse_device_type.rb'
14
- autoload :AuthenticationStatusResponseStatus, 'ding_sdk/models/shared/authenticationstatusresponse_status.rb'
15
- autoload :AuthenticationStatusResponseType, 'ding_sdk/models/shared/authenticationstatusresponse_type.rb'
16
- autoload :BalanceUpdate, 'ding_sdk/models/shared/balance_update.rb'
17
- autoload :Check, 'ding_sdk/models/shared/check.rb'
18
- autoload :CheckStatus, 'ding_sdk/models/shared/checkstatus.rb'
19
- autoload :CreateAuthenticationRequest, 'ding_sdk/models/shared/createauthenticationrequest.rb'
20
- autoload :CreateAuthenticationResponse, 'ding_sdk/models/shared/createauthenticationresponse.rb'
21
- autoload :CreateCheckRequest, 'ding_sdk/models/shared/createcheckrequest.rb'
22
- autoload :CreateCheckResponse, 'ding_sdk/models/shared/createcheckresponse.rb'
23
- autoload :DeliveryStatus, 'ding_sdk/models/shared/delivery_status.rb'
24
- autoload :ErrorResponse, 'ding_sdk/models/shared/errorresponse.rb'
25
- autoload :FeedbackRequest, 'ding_sdk/models/shared/feedbackrequest.rb'
26
- autoload :FeedbackRequestStatus, 'ding_sdk/models/shared/feedbackrequest_status.rb'
27
- autoload :FeedbackResponse, 'ding_sdk/models/shared/feedbackresponse.rb'
28
- autoload :LookupResponse, 'ding_sdk/models/shared/lookupresponse.rb'
29
- autoload :RetryAuthenticationRequest, 'ding_sdk/models/shared/retryauthenticationrequest.rb'
30
- autoload :RetryAuthenticationResponse, 'ding_sdk/models/shared/retryauthenticationresponse.rb'
31
- autoload :RetryAuthenticationResponseStatus, 'ding_sdk/models/shared/retryauthenticationresponse_status.rb'
32
- autoload :Security, 'ding_sdk/models/shared/security.rb'
33
- autoload :BalanceUpdateType, 'ding_sdk/models/shared/balance_update_type.rb'
34
- autoload :Capability, 'ding_sdk/models/shared/capability.rb'
35
- autoload :Code, 'ding_sdk/models/shared/code.rb'
36
- autoload :DeviceType, 'ding_sdk/models/shared/device_type.rb'
37
- autoload :Events, 'ding_sdk/models/shared/events.rb'
38
- autoload :LineType, 'ding_sdk/models/shared/line_type.rb'
39
- autoload :Signals, 'ding_sdk/models/shared/signals.rb'
40
- autoload :Status, 'ding_sdk/models/shared/status.rb'
41
- autoload :Type, 'ding_sdk/models/shared/type.rb'
7
+ module Models
8
+ module Shared
9
+ autoload :Attempt, 'ding_sdk/models/shared/attempt.rb'
10
+ autoload :AuthenticationStatusResponse, 'ding_sdk/models/shared/authenticationstatusresponse.rb'
11
+ autoload :AuthenticationStatusResponseSchemasEventsType, 'ding_sdk/models/shared/authenticationstatusresponse_schemas_events_type.rb'
12
+ autoload :AuthenticationStatusResponseSchemasStatus, 'ding_sdk/models/shared/authenticationstatusresponse_schemas_status.rb'
13
+ autoload :AuthenticationStatusResponseSchemasType, 'ding_sdk/models/shared/authenticationstatusresponse_schemas_type.rb'
14
+ autoload :AuthenticationStatusResponseDeviceType, 'ding_sdk/models/shared/authenticationstatusresponse_device_type.rb'
15
+ autoload :AuthenticationStatusResponseStatus, 'ding_sdk/models/shared/authenticationstatusresponse_status.rb'
16
+ autoload :AuthenticationStatusResponseType, 'ding_sdk/models/shared/authenticationstatusresponse_type.rb'
17
+ autoload :BalanceUpdate, 'ding_sdk/models/shared/balance_update.rb'
18
+ autoload :Check, 'ding_sdk/models/shared/check.rb'
19
+ autoload :CheckStatus, 'ding_sdk/models/shared/checkstatus.rb'
20
+ autoload :CreateAuthenticationRequest, 'ding_sdk/models/shared/createauthenticationrequest.rb'
21
+ autoload :CreateAuthenticationResponse, 'ding_sdk/models/shared/createauthenticationresponse.rb'
22
+ autoload :CreateCheckRequest, 'ding_sdk/models/shared/createcheckrequest.rb'
23
+ autoload :CreateCheckResponse, 'ding_sdk/models/shared/createcheckresponse.rb'
24
+ autoload :DeliveryStatus, 'ding_sdk/models/shared/delivery_status.rb'
25
+ autoload :FeedbackRequest, 'ding_sdk/models/shared/feedbackrequest.rb'
26
+ autoload :FeedbackRequestStatus, 'ding_sdk/models/shared/feedbackrequest_status.rb'
27
+ autoload :FeedbackResponse, 'ding_sdk/models/shared/feedbackresponse.rb'
28
+ autoload :LookupResponse, 'ding_sdk/models/shared/lookupresponse.rb'
29
+ autoload :RetryAuthenticationRequest, 'ding_sdk/models/shared/retryauthenticationrequest.rb'
30
+ autoload :RetryAuthenticationResponse, 'ding_sdk/models/shared/retryauthenticationresponse.rb'
31
+ autoload :RetryAuthenticationResponseStatus, 'ding_sdk/models/shared/retryauthenticationresponse_status.rb'
32
+ autoload :Security, 'ding_sdk/models/shared/security.rb'
33
+ autoload :BalanceUpdateType, 'ding_sdk/models/shared/balance_update_type.rb'
34
+ autoload :Capability, 'ding_sdk/models/shared/capability.rb'
35
+ autoload :DeviceType, 'ding_sdk/models/shared/device_type.rb'
36
+ autoload :Events, 'ding_sdk/models/shared/events.rb'
37
+ autoload :LineType, 'ding_sdk/models/shared/line_type.rb'
38
+ autoload :Signals, 'ding_sdk/models/shared/signals.rb'
39
+ autoload :Status, 'ding_sdk/models/shared/status.rb'
40
+ autoload :Type, 'ding_sdk/models/shared/type.rb'
41
+ end
42
42
  end
43
43
  end
data/lib/ding_sdk/otp.rb CHANGED
@@ -22,9 +22,10 @@ module DingSDK
22
22
  end
23
23
 
24
24
 
25
- sig { params(request: T.nilable(::DingSDK::Shared::CreateCheckRequest), timeout_ms: T.nilable(Integer)).returns(::DingSDK::Operations::CheckResponse) }
25
+ sig { params(request: T.nilable(Models::Shared::CreateCheckRequest), timeout_ms: T.nilable(Integer)).returns(Models::Operations::CheckResponse) }
26
26
  def check(request, timeout_ms = nil)
27
27
  # check - Check a code
28
+ # Check that a code entered by a user is valid.
28
29
  url, params = @sdk_configuration.get_server_details
29
30
  base_url = Utils.template_url(url, params)
30
31
  url = "#{base_url}/check"
@@ -109,8 +110,8 @@ module DingSDK
109
110
  ),
110
111
  response: http_response
111
112
  )
112
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::CreateCheckResponse)
113
- response = ::DingSDK::Operations::CheckResponse.new(
113
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::CreateCheckResponse)
114
+ response = Models::Operations::CheckResponse.new(
114
115
  status_code: http_response.status,
115
116
  content_type: content_type,
116
117
  raw_response: http_response,
@@ -119,7 +120,7 @@ module DingSDK
119
120
 
120
121
  return response
121
122
  else
122
- raise StandardError, 'API returned unexpected content type'
123
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
123
124
  end
124
125
  elsif Utils.match_status_code(http_response.status, ['400'])
125
126
  if Utils.match_content_type(content_type, 'application/json')
@@ -129,27 +130,26 @@ module DingSDK
129
130
  ),
130
131
  response: http_response
131
132
  )
132
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::ErrorResponse)
133
- response = ::DingSDK::Operations::CheckResponse.new(
134
- status_code: http_response.status,
135
- content_type: content_type,
136
- raw_response: http_response,
137
- error_response: obj
138
- )
139
-
140
- return response
133
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ErrorResponse)
134
+ throw obj
141
135
  else
142
- raise StandardError, 'API returned unexpected content type'
136
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
143
137
  end
138
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
139
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
140
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
141
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
144
142
  else
145
- raise StandardError, 'Unexpected response status code'
143
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
144
+
146
145
  end
147
146
  end
148
147
 
149
148
 
150
- sig { params(request: T.nilable(::DingSDK::Shared::CreateAuthenticationRequest), timeout_ms: T.nilable(Integer)).returns(::DingSDK::Operations::CreateAuthenticationResponse) }
149
+ sig { params(request: T.nilable(Models::Shared::CreateAuthenticationRequest), timeout_ms: T.nilable(Integer)).returns(Models::Operations::CreateAuthenticationResponse) }
151
150
  def create_authentication(request, timeout_ms = nil)
152
151
  # create_authentication - Send a code
152
+ # Send an OTP code to a user's phone number.
153
153
  url, params = @sdk_configuration.get_server_details
154
154
  base_url = Utils.template_url(url, params)
155
155
  url = "#{base_url}/authentication"
@@ -234,8 +234,8 @@ module DingSDK
234
234
  ),
235
235
  response: http_response
236
236
  )
237
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::CreateAuthenticationResponse)
238
- response = ::DingSDK::Operations::CreateAuthenticationResponse.new(
237
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::CreateAuthenticationResponse)
238
+ response = Models::Operations::CreateAuthenticationResponse.new(
239
239
  status_code: http_response.status,
240
240
  content_type: content_type,
241
241
  raw_response: http_response,
@@ -244,7 +244,7 @@ module DingSDK
244
244
 
245
245
  return response
246
246
  else
247
- raise StandardError, 'API returned unexpected content type'
247
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
248
248
  end
249
249
  elsif Utils.match_status_code(http_response.status, ['400'])
250
250
  if Utils.match_content_type(content_type, 'application/json')
@@ -254,27 +254,26 @@ module DingSDK
254
254
  ),
255
255
  response: http_response
256
256
  )
257
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::ErrorResponse)
258
- response = ::DingSDK::Operations::CreateAuthenticationResponse.new(
259
- status_code: http_response.status,
260
- content_type: content_type,
261
- raw_response: http_response,
262
- error_response: obj
263
- )
264
-
265
- return response
257
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ErrorResponse)
258
+ throw obj
266
259
  else
267
- raise StandardError, 'API returned unexpected content type'
260
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
268
261
  end
262
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
263
+ raise ::DingSDK::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 ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
269
266
  else
270
- raise StandardError, 'Unexpected response status code'
267
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
268
+
271
269
  end
272
270
  end
273
271
 
274
272
 
275
- sig { params(request: T.nilable(::DingSDK::Shared::FeedbackRequest), timeout_ms: T.nilable(Integer)).returns(::DingSDK::Operations::FeedbackResponse) }
273
+ sig { params(request: T.nilable(Models::Shared::FeedbackRequest), timeout_ms: T.nilable(Integer)).returns(Models::Operations::FeedbackResponse) }
276
274
  def feedback(request, timeout_ms = nil)
277
275
  # feedback - Send feedback
276
+ # Send feedback about the authentication process.
278
277
  url, params = @sdk_configuration.get_server_details
279
278
  base_url = Utils.template_url(url, params)
280
279
  url = "#{base_url}/authentication/feedback"
@@ -359,8 +358,8 @@ module DingSDK
359
358
  ),
360
359
  response: http_response
361
360
  )
362
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::FeedbackResponse)
363
- response = ::DingSDK::Operations::FeedbackResponse.new(
361
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::FeedbackResponse)
362
+ response = Models::Operations::FeedbackResponse.new(
364
363
  status_code: http_response.status,
365
364
  content_type: content_type,
366
365
  raw_response: http_response,
@@ -369,7 +368,7 @@ module DingSDK
369
368
 
370
369
  return response
371
370
  else
372
- raise StandardError, 'API returned unexpected content type'
371
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
373
372
  end
374
373
  elsif Utils.match_status_code(http_response.status, ['400'])
375
374
  if Utils.match_content_type(content_type, 'application/json')
@@ -379,35 +378,34 @@ module DingSDK
379
378
  ),
380
379
  response: http_response
381
380
  )
382
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::ErrorResponse)
383
- response = ::DingSDK::Operations::FeedbackResponse.new(
384
- status_code: http_response.status,
385
- content_type: content_type,
386
- raw_response: http_response,
387
- error_response: obj
388
- )
389
-
390
- return response
381
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ErrorResponse)
382
+ throw obj
391
383
  else
392
- raise StandardError, 'API returned unexpected content type'
384
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
393
385
  end
386
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
387
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
388
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
389
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
394
390
  else
395
- raise StandardError, 'Unexpected response status code'
391
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
392
+
396
393
  end
397
394
  end
398
395
 
399
396
 
400
- sig { params(auth_uuid: ::String, timeout_ms: T.nilable(Integer)).returns(::DingSDK::Operations::GetAuthenticationStatusResponse) }
397
+ sig { params(auth_uuid: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetAuthenticationStatusResponse) }
401
398
  def get_authentication_status(auth_uuid, timeout_ms = nil)
402
399
  # get_authentication_status - Get authentication status
403
- request = ::DingSDK::Operations::GetAuthenticationStatusRequest.new(
400
+ # Get the status of an authentication.
401
+ request = Models::Operations::GetAuthenticationStatusRequest.new(
404
402
 
405
403
  auth_uuid: auth_uuid
406
404
  )
407
405
  url, params = @sdk_configuration.get_server_details
408
406
  base_url = Utils.template_url(url, params)
409
407
  url = Utils.generate_url(
410
- ::DingSDK::Operations::GetAuthenticationStatusRequest,
408
+ Models::Operations::GetAuthenticationStatusRequest,
411
409
  base_url,
412
410
  '/authentication/{auth_uuid}',
413
411
  request
@@ -482,8 +480,8 @@ module DingSDK
482
480
  ),
483
481
  response: http_response
484
482
  )
485
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::AuthenticationStatusResponse)
486
- response = ::DingSDK::Operations::GetAuthenticationStatusResponse.new(
483
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AuthenticationStatusResponse)
484
+ response = Models::Operations::GetAuthenticationStatusResponse.new(
487
485
  status_code: http_response.status,
488
486
  content_type: content_type,
489
487
  raw_response: http_response,
@@ -492,7 +490,7 @@ module DingSDK
492
490
 
493
491
  return response
494
492
  else
495
- raise StandardError, 'API returned unexpected content type'
493
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
496
494
  end
497
495
  elsif Utils.match_status_code(http_response.status, ['400'])
498
496
  if Utils.match_content_type(content_type, 'application/json')
@@ -502,27 +500,26 @@ module DingSDK
502
500
  ),
503
501
  response: http_response
504
502
  )
505
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::ErrorResponse)
506
- response = ::DingSDK::Operations::GetAuthenticationStatusResponse.new(
507
- status_code: http_response.status,
508
- content_type: content_type,
509
- raw_response: http_response,
510
- error_response: obj
511
- )
512
-
513
- return response
503
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ErrorResponse)
504
+ throw obj
514
505
  else
515
- raise StandardError, 'API returned unexpected content type'
506
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
516
507
  end
508
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
509
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
510
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
511
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
517
512
  else
518
- raise StandardError, 'Unexpected response status code'
513
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
514
+
519
515
  end
520
516
  end
521
517
 
522
518
 
523
- sig { params(request: T.nilable(::DingSDK::Shared::RetryAuthenticationRequest), timeout_ms: T.nilable(Integer)).returns(::DingSDK::Operations::RetryResponse) }
519
+ sig { params(request: T.nilable(Models::Shared::RetryAuthenticationRequest), timeout_ms: T.nilable(Integer)).returns(Models::Operations::RetryResponse) }
524
520
  def retry(request, timeout_ms = nil)
525
521
  # retry - Perform a retry
522
+ # Perform a retry if a user has not received the code.
526
523
  url, params = @sdk_configuration.get_server_details
527
524
  base_url = Utils.template_url(url, params)
528
525
  url = "#{base_url}/retry"
@@ -607,8 +604,8 @@ module DingSDK
607
604
  ),
608
605
  response: http_response
609
606
  )
610
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::RetryAuthenticationResponse)
611
- response = ::DingSDK::Operations::RetryResponse.new(
607
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::RetryAuthenticationResponse)
608
+ response = Models::Operations::RetryResponse.new(
612
609
  status_code: http_response.status,
613
610
  content_type: content_type,
614
611
  raw_response: http_response,
@@ -617,7 +614,7 @@ module DingSDK
617
614
 
618
615
  return response
619
616
  else
620
- raise StandardError, 'API returned unexpected content type'
617
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
621
618
  end
622
619
  elsif Utils.match_status_code(http_response.status, ['400'])
623
620
  if Utils.match_content_type(content_type, 'application/json')
@@ -627,20 +624,18 @@ module DingSDK
627
624
  ),
628
625
  response: http_response
629
626
  )
630
- obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), ::DingSDK::Shared::ErrorResponse)
631
- response = ::DingSDK::Operations::RetryResponse.new(
632
- status_code: http_response.status,
633
- content_type: content_type,
634
- raw_response: http_response,
635
- error_response: obj
636
- )
637
-
638
- return response
627
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ErrorResponse)
628
+ throw obj
639
629
  else
640
- raise StandardError, 'API returned unexpected content type'
630
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
641
631
  end
632
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
633
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
634
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
635
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
642
636
  else
643
- raise StandardError, 'Unexpected response status code'
637
+ raise ::DingSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
638
+
644
639
  end
645
640
  end
646
641
  end
@@ -18,14 +18,16 @@ module DingSDK
18
18
  ].freeze
19
19
  # Contains the list of servers available to the SDK
20
20
 
21
- class SDKConfiguration < ::Crystalline::FieldAugmented
21
+ class SDKConfiguration
22
22
  extend T::Sig
23
+ include Crystalline::MetadataFields
24
+
23
25
 
24
26
  field :client, T.nilable(Faraday::Connection)
25
27
  field :hooks, ::DingSDK::SDKHooks::Hooks
26
28
  field :retry_config, T.nilable(::DingSDK::Utils::RetryConfig)
27
29
  field :timeout, T.nilable(Float)
28
- field :security_source, T.nilable(T.proc.returns(T.nilable(::DingSDK::Shared::Security)))
30
+ field :security_source, T.nilable(T.proc.returns(T.nilable(Models::Shared::Security)))
29
31
  field :server_url, T.nilable(String)
30
32
  field :server_idx, T.nilable(Integer)
31
33
  field :language, String
@@ -40,8 +42,8 @@ module DingSDK
40
42
  hooks: ::DingSDK::SDKHooks::Hooks,
41
43
  retry_config: T.nilable(::DingSDK::Utils::RetryConfig),
42
44
  timeout_ms: T.nilable(Integer),
43
- security: T.nilable(::DingSDK::Shared::Security),
44
- security_source: T.nilable(T.proc.returns(::DingSDK::Shared::Security)),
45
+ security: T.nilable(Models::Shared::Security),
46
+ security_source: T.nilable(T.proc.returns(Models::Shared::Security)),
45
47
  server_url: T.nilable(String),
46
48
  server_idx: T.nilable(Integer)
47
49
  ).void
@@ -61,9 +63,9 @@ module DingSDK
61
63
  end
62
64
  @language = 'ruby'
63
65
  @openapi_doc_version = '1.0.0'
64
- @sdk_version = '0.14.2'
65
- @gen_version = '2.568.5'
66
- @user_agent = 'speakeasy-sdk/ruby 0.14.2 2.568.5 1.0.0 ding_sdk'
66
+ @sdk_version = '0.14.3'
67
+ @gen_version = '2.570.0'
68
+ @user_agent = 'speakeasy-sdk/ruby 0.14.3 2.570.0 1.0.0 ding_sdk'
67
69
  end
68
70
 
69
71
  sig { returns([String, T::Hash[Symbol, String]]) }
@@ -24,7 +24,7 @@ module DingSDK
24
24
  end
25
25
  end
26
26
 
27
- sig { params(headers_params: ::Crystalline::FieldAugmented, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(T::Hash[Symbol, String]) }
27
+ sig { params(headers_params: Object, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(T::Hash[Symbol, String]) }
28
28
  def self.get_headers(headers_params, gbls = nil)
29
29
  return {} if headers_params.nil?
30
30
 
@@ -231,7 +231,7 @@ module DingSDK
231
231
  _populate_form(field_name, metadata.fetch(:explode, true), obj, delimiter, &get_query_param_field_name)
232
232
  end
233
233
 
234
- sig { params(clazz: Class, query_params: ::Crystalline::FieldAugmented, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(T::Hash[Symbol, T::Array[String]]) }
234
+ sig { params(clazz: Class, query_params: Object, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(T::Hash[Symbol, T::Array[String]]) }
235
235
  def self.get_query_params(clazz, query_params, gbls = nil)
236
236
  params = {}
237
237
  param_fields = clazz.fields
@@ -275,7 +275,7 @@ module DingSDK
275
275
  params
276
276
  end
277
277
 
278
- sig { params(clazz: Class, server_url: String, path: String, path_params: ::Crystalline::FieldAugmented, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(String) }
278
+ sig { params(clazz: Class, server_url: String, path: String, path_params: Object, gbls: T.nilable(T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]])).returns(String) }
279
279
  def self.generate_url(clazz, server_url, path, path_params, gbls = nil)
280
280
  clazz.fields.each do |f|
281
281
  param_metadata = f.metadata[:path_param]
@@ -479,7 +479,7 @@ module DingSDK
479
479
  end
480
480
  end
481
481
 
482
- sig { params(req: Faraday::Request, scheme: ::Crystalline::FieldAugmented).void }
482
+ sig { params(req: Faraday::Request, scheme: Object).void }
483
483
  def self._parse_basic_auth_scheme(req, scheme)
484
484
  username, password = ''
485
485
 
@@ -583,7 +583,7 @@ module DingSDK
583
583
  raise StandardError, "invalid request body type #{type(request)} for mediaType {metadata['media_type']}"
584
584
  end
585
585
 
586
- sig { params(field: ::Crystalline::MetadataFields::Field, data_class: ::Crystalline::FieldAugmented).returns(Object) }
586
+ sig { params(field: ::Crystalline::MetadataFields::Field, data_class: Object).returns(Object) }
587
587
  def self.parse_field(field, data_class)
588
588
  field_metadata = field.metadata[:metadata_string]
589
589
  return nil if field_metadata.nil?
@@ -594,7 +594,7 @@ module DingSDK
594
594
  field_value
595
595
  end
596
596
 
597
- sig { params(media_type: String, request: ::Crystalline::FieldAugmented).returns([String, Object, T::Array[T::Array[Object]]]) }
597
+ sig { params(media_type: String, request: Object).returns([String, Object, T::Array[T::Array[Object]]]) }
598
598
  def self.serialize_multipart_form(media_type, request)
599
599
  form = []
600
600
  request_fields = request.fields
@@ -673,7 +673,7 @@ module DingSDK
673
673
  end
674
674
 
675
675
  sig do
676
- params(field_name: Symbol, data: T.any(::Crystalline::FieldAugmented, T::Hash[Symbol, String]))
676
+ params(field_name: Symbol, data: T.any(Object, T::Hash[Symbol, String]))
677
677
  .returns(T::Hash[Symbol, Object])
678
678
  end
679
679
  def self.serialize_form_data(field_name, data)
data/lib/ding_sdk.rb CHANGED
@@ -5,10 +5,13 @@
5
5
 
6
6
  module DingSDK
7
7
  autoload :Ding, 'ding_sdk/ding'
8
- autoload :Shared, 'ding_sdk/models/shared'
9
- autoload :Operations, 'ding_sdk/models/operations'
10
8
  autoload :Otp, 'ding_sdk/otp'
11
9
  autoload :Lookup, 'ding_sdk/lookup'
10
+ module Models
11
+ autoload :Shared, 'ding_sdk/models/shared'
12
+ autoload :Operations, 'ding_sdk/models/operations'
13
+ autoload :Errors, 'ding_sdk/models/errors'
14
+ end
12
15
  end
13
16
 
14
17
  require_relative 'ding_sdk/utils/utils'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ding_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.2
4
+ version: 0.14.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ding
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-10 00:00:00.000000000 Z
11
+ date: 2025-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -191,6 +191,10 @@ files:
191
191
  - lib/ding_sdk.rb
192
192
  - lib/ding_sdk/ding.rb
193
193
  - lib/ding_sdk/lookup.rb
194
+ - lib/ding_sdk/models/errors.rb
195
+ - lib/ding_sdk/models/errors/apierror.rb
196
+ - lib/ding_sdk/models/errors/code.rb
197
+ - lib/ding_sdk/models/errors/errorresponse.rb
194
198
  - lib/ding_sdk/models/operations.rb
195
199
  - lib/ding_sdk/models/operations/check_response.rb
196
200
  - lib/ding_sdk/models/operations/create_authentication_response.rb
@@ -215,14 +219,12 @@ files:
215
219
  - lib/ding_sdk/models/shared/capability.rb
216
220
  - lib/ding_sdk/models/shared/check.rb
217
221
  - lib/ding_sdk/models/shared/checkstatus.rb
218
- - lib/ding_sdk/models/shared/code.rb
219
222
  - lib/ding_sdk/models/shared/createauthenticationrequest.rb
220
223
  - lib/ding_sdk/models/shared/createauthenticationresponse.rb
221
224
  - lib/ding_sdk/models/shared/createcheckrequest.rb
222
225
  - lib/ding_sdk/models/shared/createcheckresponse.rb
223
226
  - lib/ding_sdk/models/shared/delivery_status.rb
224
227
  - lib/ding_sdk/models/shared/device_type.rb
225
- - lib/ding_sdk/models/shared/errorresponse.rb
226
228
  - lib/ding_sdk/models/shared/events.rb
227
229
  - lib/ding_sdk/models/shared/feedbackrequest.rb
228
230
  - lib/ding_sdk/models/shared/feedbackrequest_status.rb
@@ -1,39 +0,0 @@
1
- # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
-
3
- # typed: true
4
- # frozen_string_literal: true
5
-
6
-
7
- module DingSDK
8
- module Shared
9
-
10
- # Code - A machine-readable code that describes the error.
11
- class Code < T::Enum
12
- enums do
13
- ACCOUNT_INVALID = new('account_invalid')
14
- APP_REALM_REQUIRE_DEVICE_TYPE = new('app_realm_require_device_type')
15
- BAD_REQUEST = new('bad_request')
16
- BLOCKED_NUMBER = new('blocked_number')
17
- DUPLICATED_FEEDBACK_STATUS = new('duplicated_feedback_status')
18
- INTERNAL_SERVER_ERROR = new('internal_server_error')
19
- INVALID_APP_REALM = new('invalid_app_realm')
20
- INVALID_APP_VERSION = new('invalid_app_version')
21
- INVALID_AUTH_UUID = new('invalid_auth_uuid')
22
- INVALID_DEVICE_ID = new('invalid_device_id')
23
- INVALID_DEVICE_MODEL = new('invalid_device_model')
24
- INVALID_FEEDBACK_STATUS = new('invalid_feedback_status')
25
- INVALID_LINE = new('invalid_line')
26
- INVALID_OS_VERSION = new('invalid_os_version')
27
- INVALID_PHONE_NUMBER = new('invalid_phone_number')
28
- INVALID_SENDER_ID = new('invalid_sender_id')
29
- INVALID_TEMPLATE_ID = new('invalid_template_id')
30
- NEGATIVE_BALANCE = new('negative_balance')
31
- NO_ASSOCIATED_AUTH_FOUND = new('no_associated_auth_found')
32
- SUSPENDED_ACCOUNT = new('suspended_account')
33
- UNAUTHORIZED_SENDER_ID = new('unauthorized_sender_id')
34
- UNSUPPORTED_APP_REALM_DEVICE_TYPE = new('unsupported_app_realm_device_type')
35
- UNSUPPORTED_REGION = new('unsupported_region')
36
- end
37
- end
38
- end
39
- end
@@ -1,38 +0,0 @@
1
- # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
-
3
- # typed: true
4
- # frozen_string_literal: true
5
-
6
-
7
- module DingSDK
8
- module Shared
9
-
10
-
11
- class ErrorResponse < ::Crystalline::FieldAugmented
12
- extend T::Sig
13
-
14
- # A machine-readable code that describes the error.
15
- field :code, T.nilable(::DingSDK::Shared::Code), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('code'), 'decoder': Utils.enum_from_string(::DingSDK::Shared::Code, true) } }
16
- # A link to the documentation that describes the error.
17
- field :doc_url, T.nilable(::String), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('doc_url') } }
18
- # A human-readable message that describes the error.
19
- field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('message') } }
20
-
21
-
22
- sig { params(code: T.nilable(::DingSDK::Shared::Code), doc_url: T.nilable(::String), message: T.nilable(::String)).void }
23
- def initialize(code: nil, doc_url: nil, message: nil)
24
- @code = code
25
- @doc_url = doc_url
26
- @message = message
27
- end
28
-
29
- def ==(other)
30
- return false unless other.is_a? self.class
31
- return false unless @code == other.code
32
- return false unless @doc_url == other.doc_url
33
- return false unless @message == other.message
34
- true
35
- end
36
- end
37
- end
38
- end