bandwidth-sdk 6.2.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bandwidth/api_helper.rb +19 -29
  3. data/lib/bandwidth/client.rb +8 -8
  4. data/lib/bandwidth/configuration.rb +20 -32
  5. data/lib/bandwidth/http/auth/{two_factor_auth_basic_auth.rb → multi_factor_auth_basic_auth.rb} +3 -3
  6. data/lib/bandwidth/http/faraday_client.rb +1 -1
  7. data/lib/bandwidth/messaging_lib/messaging/client.rb +14 -5
  8. data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +78 -71
  9. data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +3 -5
  10. data/lib/bandwidth/messaging_lib/messaging/exceptions/messaging_exception.rb +5 -2
  11. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_callback_message.rb +31 -11
  12. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message.rb +54 -25
  13. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +102 -24
  14. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_messages_list.rb +23 -4
  15. data/lib/bandwidth/messaging_lib/messaging/models/deferred_result.rb +20 -4
  16. data/lib/bandwidth/messaging_lib/messaging/models/media.rb +27 -80
  17. data/lib/bandwidth/messaging_lib/messaging/models/message_request.rb +32 -14
  18. data/lib/bandwidth/messaging_lib/messaging/models/page_info.rb +28 -8
  19. data/lib/bandwidth/messaging_lib/messaging/models/tag.rb +20 -4
  20. data/lib/bandwidth/models/base_model.rb +30 -8
  21. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/client.rb +15 -6
  22. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/controllers/base_controller.rb +3 -5
  23. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/controllers/mfa_controller.rb +28 -23
  24. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/error_with_request_exception.rb +5 -2
  25. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/forbidden_request_exception.rb +4 -1
  26. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/exceptions/unauthorized_request_exception.rb +4 -1
  27. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_code_request_schema.rb +27 -12
  28. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_messaging_response.rb +17 -2
  29. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_verify_code_response.rb +17 -2
  30. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_verify_request_schema.rb +29 -10
  31. data/lib/bandwidth/{two_factor_auth_lib/two_factor_auth → multi_factor_auth_lib/multi_factor_auth}/models/two_factor_voice_response.rb +17 -2
  32. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth.rb +23 -0
  33. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb +212 -210
  34. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/base_controller.rb +3 -5
  35. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/exceptions/accounts_tnlookup400_error_exception.rb +4 -1
  36. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_request.rb +17 -2
  37. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_response.rb +20 -4
  38. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_status.rb +28 -7
  39. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/result.rb +43 -18
  40. data/lib/bandwidth/utilities/date_time_helper.rb +156 -0
  41. data/lib/bandwidth/utilities/file_wrapper.rb +1 -2
  42. data/lib/bandwidth/voice_lib/voice/client.rb +14 -5
  43. data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +418 -379
  44. data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +3 -5
  45. data/lib/bandwidth/voice_lib/voice/exceptions/{api_error_response_exception.rb → api_error_exception.rb} +8 -5
  46. data/lib/bandwidth/voice_lib/voice/models/call_callback.rb +343 -0
  47. data/lib/bandwidth/voice_lib/voice/models/call_recording_metadata.rb +250 -0
  48. data/lib/bandwidth/voice_lib/voice/models/call_state.rb +284 -0
  49. data/lib/bandwidth/voice_lib/voice/models/callback_method_enum.rb +2 -20
  50. data/lib/bandwidth/voice_lib/voice/models/conference_callback.rb +211 -0
  51. data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +2 -20
  52. data/lib/bandwidth/voice_lib/voice/models/{conference_member_detail.rb → conference_member_state.rb} +43 -20
  53. data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata.rb +173 -0
  54. data/lib/bandwidth/voice_lib/voice/models/conference_state.rb +153 -0
  55. data/lib/bandwidth/voice_lib/voice/models/create_call_request.rb +301 -0
  56. data/lib/bandwidth/voice_lib/voice/models/create_call_response.rb +256 -0
  57. data/lib/bandwidth/voice_lib/voice/models/diversion.rb +80 -0
  58. data/lib/bandwidth/voice_lib/voice/models/fallback_method_enum.rb +17 -0
  59. data/lib/bandwidth/voice_lib/voice/models/machine_detection_configuration.rb +218 -0
  60. data/lib/bandwidth/voice_lib/voice/models/mode_enum.rb +20 -0
  61. data/lib/bandwidth/voice_lib/voice/models/{modify_call_recording_state.rb → modify_call_recording_request.rb} +19 -6
  62. data/lib/bandwidth/voice_lib/voice/models/modify_call_request.rb +156 -0
  63. data/lib/bandwidth/voice_lib/voice/models/modify_conference_request.rb +144 -0
  64. data/lib/bandwidth/voice_lib/voice/models/state1_enum.rb +7 -4
  65. data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +4 -7
  66. data/lib/bandwidth/voice_lib/voice/models/transcribe_recording_request.rb +108 -0
  67. data/lib/bandwidth/voice_lib/voice/models/transcript.rb +20 -4
  68. data/lib/bandwidth/voice_lib/voice/models/transcription.rb +35 -17
  69. data/lib/bandwidth/voice_lib/voice/models/transcription_metadata.rb +89 -0
  70. data/lib/bandwidth/voice_lib/voice/models/transcription_response.rb +18 -1
  71. data/lib/bandwidth/voice_lib/voice.rb +20 -18
  72. data/lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb +7 -2
  73. data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +4 -4
  74. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +75 -64
  75. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +3 -5
  76. data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +5 -2
  77. data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +20 -5
  78. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +37 -14
  79. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +15 -2
  80. data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +20 -4
  81. data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +20 -3
  82. data/lib/bandwidth.rb +20 -18
  83. data/test/integration/test_integration.rb +92 -57
  84. metadata +35 -31
  85. data/lib/bandwidth/two_factor_auth_lib/two_factor_auth.rb +0 -22
  86. data/lib/bandwidth/voice_lib/voice/models/api_call_response.rb +0 -207
  87. data/lib/bandwidth/voice_lib/voice/models/api_call_state_response.rb +0 -164
  88. data/lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb +0 -248
  89. data/lib/bandwidth/voice_lib/voice/models/api_modify_call_request.rb +0 -116
  90. data/lib/bandwidth/voice_lib/voice/models/api_modify_conference_request.rb +0 -107
  91. data/lib/bandwidth/voice_lib/voice/models/api_transcribe_recording_request.rb +0 -80
  92. data/lib/bandwidth/voice_lib/voice/models/conference_detail.rb +0 -108
  93. data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata_response.rb +0 -126
  94. data/lib/bandwidth/voice_lib/voice/models/disconnect_cause_enum.rb +0 -47
  95. data/lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb +0 -190
  96. data/lib/bandwidth/voice_lib/voice/models/state2_enum.rb +0 -20
  97. data/lib/bandwidth/voice_lib/voice/models/status1_enum.rb +0 -29
  98. data/lib/bandwidth/voice_lib/voice/models/status3_enum.rb +0 -32
@@ -0,0 +1,284 @@
1
+ # bandwidth
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ require 'date'
7
+ module Bandwidth
8
+ # CallState Model.
9
+ class CallState < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [String]
15
+ attr_accessor :call_id
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :parent_call_id
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [String]
23
+ attr_accessor :application_id
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [String]
27
+ attr_accessor :account_id
28
+
29
+ # TODO: Write general description for this method
30
+ # @return [String]
31
+ attr_accessor :to
32
+
33
+ # TODO: Write general description for this method
34
+ # @return [String]
35
+ attr_accessor :from
36
+
37
+ # TODO: Write general description for this method
38
+ # @return [String]
39
+ attr_accessor :direction
40
+
41
+ # The current state of the call. Current possible values are 'initiated',
42
+ # 'answered' and 'disconnected'. Additional states may be added in the
43
+ # future, so your application must be tolerant of unknown values.
44
+ # @return [String]
45
+ attr_accessor :state
46
+
47
+ # The current state of the call. Current possible values are 'initiated',
48
+ # 'answered' and 'disconnected'. Additional states may be added in the
49
+ # future, so your application must be tolerant of unknown values.
50
+ # @return [String]
51
+ attr_accessor :identity
52
+
53
+ # The current state of the call. Current possible values are 'initiated',
54
+ # 'answered' and 'disconnected'. Additional states may be added in the
55
+ # future, so your application must be tolerant of unknown values.
56
+ # @return [Hash]
57
+ attr_accessor :stir_shaken
58
+
59
+ # The current state of the call. Current possible values are 'initiated',
60
+ # 'answered' and 'disconnected'. Additional states may be added in the
61
+ # future, so your application must be tolerant of unknown values.
62
+ # @return [DateTime]
63
+ attr_accessor :start_time
64
+
65
+ # The current state of the call. Current possible values are 'initiated',
66
+ # 'answered' and 'disconnected'. Additional states may be added in the
67
+ # future, so your application must be tolerant of unknown values.
68
+ # @return [DateTime]
69
+ attr_accessor :answer_time
70
+
71
+ # The current state of the call. Current possible values are 'initiated',
72
+ # 'answered' and 'disconnected'. Additional states may be added in the
73
+ # future, so your application must be tolerant of unknown values.
74
+ # @return [DateTime]
75
+ attr_accessor :end_time
76
+
77
+ # The reason the call was disconnected, or null if the call is still active.
78
+ # Current values are 'cancel', 'timeout', 'busy', 'rejected', 'hangup',
79
+ # 'invalid-bxml', 'callback-error', 'application-error', 'error',
80
+ # 'account-limit', 'node-capacity-exceeded' and 'unknown'. Additional causes
81
+ # may be added in the future, so your application must be tolerant of
82
+ # unknown values.
83
+ # @return [String]
84
+ attr_accessor :disconnect_cause
85
+
86
+ # The reason the call was disconnected, or null if the call is still active.
87
+ # Current values are 'cancel', 'timeout', 'busy', 'rejected', 'hangup',
88
+ # 'invalid-bxml', 'callback-error', 'application-error', 'error',
89
+ # 'account-limit', 'node-capacity-exceeded' and 'unknown'. Additional causes
90
+ # may be added in the future, so your application must be tolerant of
91
+ # unknown values.
92
+ # @return [String]
93
+ attr_accessor :error_message
94
+
95
+ # The reason the call was disconnected, or null if the call is still active.
96
+ # Current values are 'cancel', 'timeout', 'busy', 'rejected', 'hangup',
97
+ # 'invalid-bxml', 'callback-error', 'application-error', 'error',
98
+ # 'account-limit', 'node-capacity-exceeded' and 'unknown'. Additional causes
99
+ # may be added in the future, so your application must be tolerant of
100
+ # unknown values.
101
+ # @return [String]
102
+ attr_accessor :error_id
103
+
104
+ # The reason the call was disconnected, or null if the call is still active.
105
+ # Current values are 'cancel', 'timeout', 'busy', 'rejected', 'hangup',
106
+ # 'invalid-bxml', 'callback-error', 'application-error', 'error',
107
+ # 'account-limit', 'node-capacity-exceeded' and 'unknown'. Additional causes
108
+ # may be added in the future, so your application must be tolerant of
109
+ # unknown values.
110
+ # @return [DateTime]
111
+ attr_accessor :last_update
112
+
113
+ # A mapping from model property names to API property names.
114
+ def self.names
115
+ @_hash = {} if @_hash.nil?
116
+ @_hash['call_id'] = 'callId'
117
+ @_hash['parent_call_id'] = 'parentCallId'
118
+ @_hash['application_id'] = 'applicationId'
119
+ @_hash['account_id'] = 'accountId'
120
+ @_hash['to'] = 'to'
121
+ @_hash['from'] = 'from'
122
+ @_hash['direction'] = 'direction'
123
+ @_hash['state'] = 'state'
124
+ @_hash['identity'] = 'identity'
125
+ @_hash['stir_shaken'] = 'stirShaken'
126
+ @_hash['start_time'] = 'startTime'
127
+ @_hash['answer_time'] = 'answerTime'
128
+ @_hash['end_time'] = 'endTime'
129
+ @_hash['disconnect_cause'] = 'disconnectCause'
130
+ @_hash['error_message'] = 'errorMessage'
131
+ @_hash['error_id'] = 'errorId'
132
+ @_hash['last_update'] = 'lastUpdate'
133
+ @_hash
134
+ end
135
+
136
+ # An array for optional fields
137
+ def optionals
138
+ %w[
139
+ call_id
140
+ parent_call_id
141
+ application_id
142
+ account_id
143
+ to
144
+ from
145
+ direction
146
+ state
147
+ identity
148
+ stir_shaken
149
+ start_time
150
+ answer_time
151
+ end_time
152
+ disconnect_cause
153
+ error_message
154
+ error_id
155
+ last_update
156
+ ]
157
+ end
158
+
159
+ # An array for nullable fields
160
+ def nullables
161
+ %w[
162
+ parent_call_id
163
+ identity
164
+ answer_time
165
+ end_time
166
+ disconnect_cause
167
+ error_message
168
+ error_id
169
+ ]
170
+ end
171
+
172
+ def initialize(call_id = nil,
173
+ parent_call_id = nil,
174
+ application_id = nil,
175
+ account_id = nil,
176
+ to = nil,
177
+ from = nil,
178
+ direction = nil,
179
+ state = nil,
180
+ identity = nil,
181
+ stir_shaken = nil,
182
+ start_time = nil,
183
+ answer_time = nil,
184
+ end_time = nil,
185
+ disconnect_cause = nil,
186
+ error_message = nil,
187
+ error_id = nil,
188
+ last_update = nil)
189
+ @call_id = call_id unless call_id == SKIP
190
+ @parent_call_id = parent_call_id unless parent_call_id == SKIP
191
+ @application_id = application_id unless application_id == SKIP
192
+ @account_id = account_id unless account_id == SKIP
193
+ @to = to unless to == SKIP
194
+ @from = from unless from == SKIP
195
+ @direction = direction unless direction == SKIP
196
+ @state = state unless state == SKIP
197
+ @identity = identity unless identity == SKIP
198
+ @stir_shaken = stir_shaken unless stir_shaken == SKIP
199
+ @start_time = start_time unless start_time == SKIP
200
+ @answer_time = answer_time unless answer_time == SKIP
201
+ @end_time = end_time unless end_time == SKIP
202
+ @disconnect_cause = disconnect_cause unless disconnect_cause == SKIP
203
+ @error_message = error_message unless error_message == SKIP
204
+ @error_id = error_id unless error_id == SKIP
205
+ @last_update = last_update unless last_update == SKIP
206
+ end
207
+
208
+ # Creates an instance of the object from a hash.
209
+ def self.from_hash(hash)
210
+ return nil unless hash
211
+
212
+ # Extract variables from the hash.
213
+ call_id = hash.key?('callId') ? hash['callId'] : SKIP
214
+ parent_call_id = hash.key?('parentCallId') ? hash['parentCallId'] : SKIP
215
+ application_id = hash.key?('applicationId') ? hash['applicationId'] : SKIP
216
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
217
+ to = hash.key?('to') ? hash['to'] : SKIP
218
+ from = hash.key?('from') ? hash['from'] : SKIP
219
+ direction = hash.key?('direction') ? hash['direction'] : SKIP
220
+ state = hash.key?('state') ? hash['state'] : SKIP
221
+ identity = hash.key?('identity') ? hash['identity'] : SKIP
222
+ stir_shaken = hash.key?('stirShaken') ? hash['stirShaken'] : SKIP
223
+ start_time = if hash.key?('startTime')
224
+ (DateTimeHelper.from_rfc3339(hash['startTime']) if hash['startTime'])
225
+ else
226
+ SKIP
227
+ end
228
+ answer_time = if hash.key?('answerTime')
229
+ (DateTimeHelper.from_rfc3339(hash['answerTime']) if hash['answerTime'])
230
+ else
231
+ SKIP
232
+ end
233
+ end_time = if hash.key?('endTime')
234
+ (DateTimeHelper.from_rfc3339(hash['endTime']) if hash['endTime'])
235
+ else
236
+ SKIP
237
+ end
238
+ disconnect_cause =
239
+ hash.key?('disconnectCause') ? hash['disconnectCause'] : SKIP
240
+ error_message = hash.key?('errorMessage') ? hash['errorMessage'] : SKIP
241
+ error_id = hash.key?('errorId') ? hash['errorId'] : SKIP
242
+ last_update = if hash.key?('lastUpdate')
243
+ (DateTimeHelper.from_rfc3339(hash['lastUpdate']) if hash['lastUpdate'])
244
+ else
245
+ SKIP
246
+ end
247
+
248
+ # Create object from extracted values.
249
+ CallState.new(call_id,
250
+ parent_call_id,
251
+ application_id,
252
+ account_id,
253
+ to,
254
+ from,
255
+ direction,
256
+ state,
257
+ identity,
258
+ stir_shaken,
259
+ start_time,
260
+ answer_time,
261
+ end_time,
262
+ disconnect_cause,
263
+ error_message,
264
+ error_id,
265
+ last_update)
266
+ end
267
+
268
+ def to_start_time
269
+ DateTimeHelper.to_rfc3339(start_time)
270
+ end
271
+
272
+ def to_answer_time
273
+ DateTimeHelper.to_rfc3339(answer_time)
274
+ end
275
+
276
+ def to_end_time
277
+ DateTimeHelper.to_rfc3339(end_time)
278
+ end
279
+
280
+ def to_last_update
281
+ DateTimeHelper.to_rfc3339(last_update)
282
+ end
283
+ end
284
+ end
@@ -7,29 +7,11 @@ module Bandwidth
7
7
  # CallbackMethod.
8
8
  class CallbackMethodEnum
9
9
  CALLBACK_METHOD_ENUM = [
10
- # TODO: Write general description for GET
11
- GET = 'GET'.freeze,
12
-
13
- # TODO: Write general description for HEAD
14
- HEAD = 'HEAD'.freeze,
15
-
16
10
  # TODO: Write general description for POST
17
11
  POST = 'POST'.freeze,
18
12
 
19
- # TODO: Write general description for PUT
20
- PUT = 'PUT'.freeze,
21
-
22
- # TODO: Write general description for PATCH
23
- PATCH = 'PATCH'.freeze,
24
-
25
- # TODO: Write general description for DELETE
26
- DELETE = 'DELETE'.freeze,
27
-
28
- # TODO: Write general description for OPTIONS
29
- OPTIONS = 'OPTIONS'.freeze,
30
-
31
- # TODO: Write general description for TRACE
32
- TRACE = 'TRACE'.freeze
13
+ # TODO: Write general description for GET
14
+ GET = 'GET'.freeze
33
15
  ].freeze
34
16
  end
35
17
  end
@@ -0,0 +1,211 @@
1
+ # bandwidth
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module Bandwidth
7
+ # This object represents all possible fields that may be included in callbacks
8
+ # related to conference events
9
+ class ConferenceCallback < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [String]
15
+ attr_accessor :conference_id
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :name
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [String]
23
+ attr_accessor :event_type
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [String]
27
+ attr_accessor :event_time
28
+
29
+ # TODO: Write general description for this method
30
+ # @return [String]
31
+ attr_accessor :tag
32
+
33
+ # TODO: Write general description for this method
34
+ # @return [String]
35
+ attr_accessor :call_id
36
+
37
+ # TODO: Write general description for this method
38
+ # @return [String]
39
+ attr_accessor :to
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [String]
43
+ attr_accessor :from
44
+
45
+ # TODO: Write general description for this method
46
+ # @return [String]
47
+ attr_accessor :account_id
48
+
49
+ # TODO: Write general description for this method
50
+ # @return [String]
51
+ attr_accessor :recording_id
52
+
53
+ # TODO: Write general description for this method
54
+ # @return [Integer]
55
+ attr_accessor :channels
56
+
57
+ # TODO: Write general description for this method
58
+ # @return [String]
59
+ attr_accessor :start_time
60
+
61
+ # TODO: Write general description for this method
62
+ # @return [String]
63
+ attr_accessor :end_time
64
+
65
+ # TODO: Write general description for this method
66
+ # @return [String]
67
+ attr_accessor :duration
68
+
69
+ # TODO: Write general description for this method
70
+ # @return [String]
71
+ attr_accessor :file_format
72
+
73
+ # TODO: Write general description for this method
74
+ # @return [String]
75
+ attr_accessor :media_url
76
+
77
+ # TODO: Write general description for this method
78
+ # @return [String]
79
+ attr_accessor :status
80
+
81
+ # A mapping from model property names to API property names.
82
+ def self.names
83
+ @_hash = {} if @_hash.nil?
84
+ @_hash['conference_id'] = 'conferenceId'
85
+ @_hash['name'] = 'name'
86
+ @_hash['event_type'] = 'eventType'
87
+ @_hash['event_time'] = 'eventTime'
88
+ @_hash['tag'] = 'tag'
89
+ @_hash['call_id'] = 'callId'
90
+ @_hash['to'] = 'to'
91
+ @_hash['from'] = 'from'
92
+ @_hash['account_id'] = 'accountId'
93
+ @_hash['recording_id'] = 'recordingId'
94
+ @_hash['channels'] = 'channels'
95
+ @_hash['start_time'] = 'startTime'
96
+ @_hash['end_time'] = 'endTime'
97
+ @_hash['duration'] = 'duration'
98
+ @_hash['file_format'] = 'fileFormat'
99
+ @_hash['media_url'] = 'mediaUrl'
100
+ @_hash['status'] = 'status'
101
+ @_hash
102
+ end
103
+
104
+ # An array for optional fields
105
+ def optionals
106
+ %w[
107
+ conference_id
108
+ name
109
+ event_type
110
+ event_time
111
+ tag
112
+ call_id
113
+ to
114
+ from
115
+ account_id
116
+ recording_id
117
+ channels
118
+ start_time
119
+ end_time
120
+ duration
121
+ file_format
122
+ media_url
123
+ status
124
+ ]
125
+ end
126
+
127
+ # An array for nullable fields
128
+ def nullables
129
+ []
130
+ end
131
+
132
+ def initialize(conference_id = nil,
133
+ name = nil,
134
+ event_type = nil,
135
+ event_time = nil,
136
+ tag = nil,
137
+ call_id = nil,
138
+ to = nil,
139
+ from = nil,
140
+ account_id = nil,
141
+ recording_id = nil,
142
+ channels = nil,
143
+ start_time = nil,
144
+ end_time = nil,
145
+ duration = nil,
146
+ file_format = nil,
147
+ media_url = nil,
148
+ status = nil)
149
+ @conference_id = conference_id unless conference_id == SKIP
150
+ @name = name unless name == SKIP
151
+ @event_type = event_type unless event_type == SKIP
152
+ @event_time = event_time unless event_time == SKIP
153
+ @tag = tag unless tag == SKIP
154
+ @call_id = call_id unless call_id == SKIP
155
+ @to = to unless to == SKIP
156
+ @from = from unless from == SKIP
157
+ @account_id = account_id unless account_id == SKIP
158
+ @recording_id = recording_id unless recording_id == SKIP
159
+ @channels = channels unless channels == SKIP
160
+ @start_time = start_time unless start_time == SKIP
161
+ @end_time = end_time unless end_time == SKIP
162
+ @duration = duration unless duration == SKIP
163
+ @file_format = file_format unless file_format == SKIP
164
+ @media_url = media_url unless media_url == SKIP
165
+ @status = status unless status == SKIP
166
+ end
167
+
168
+ # Creates an instance of the object from a hash.
169
+ def self.from_hash(hash)
170
+ return nil unless hash
171
+
172
+ # Extract variables from the hash.
173
+ conference_id = hash.key?('conferenceId') ? hash['conferenceId'] : SKIP
174
+ name = hash.key?('name') ? hash['name'] : SKIP
175
+ event_type = hash.key?('eventType') ? hash['eventType'] : SKIP
176
+ event_time = hash.key?('eventTime') ? hash['eventTime'] : SKIP
177
+ tag = hash.key?('tag') ? hash['tag'] : SKIP
178
+ call_id = hash.key?('callId') ? hash['callId'] : SKIP
179
+ to = hash.key?('to') ? hash['to'] : SKIP
180
+ from = hash.key?('from') ? hash['from'] : SKIP
181
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
182
+ recording_id = hash.key?('recordingId') ? hash['recordingId'] : SKIP
183
+ channels = hash.key?('channels') ? hash['channels'] : SKIP
184
+ start_time = hash.key?('startTime') ? hash['startTime'] : SKIP
185
+ end_time = hash.key?('endTime') ? hash['endTime'] : SKIP
186
+ duration = hash.key?('duration') ? hash['duration'] : SKIP
187
+ file_format = hash.key?('fileFormat') ? hash['fileFormat'] : SKIP
188
+ media_url = hash.key?('mediaUrl') ? hash['mediaUrl'] : SKIP
189
+ status = hash.key?('status') ? hash['status'] : SKIP
190
+
191
+ # Create object from extracted values.
192
+ ConferenceCallback.new(conference_id,
193
+ name,
194
+ event_type,
195
+ event_time,
196
+ tag,
197
+ call_id,
198
+ to,
199
+ from,
200
+ account_id,
201
+ recording_id,
202
+ channels,
203
+ start_time,
204
+ end_time,
205
+ duration,
206
+ file_format,
207
+ media_url,
208
+ status)
209
+ end
210
+ end
211
+ end
@@ -7,29 +7,11 @@ module Bandwidth
7
7
  # ConferenceEventMethod.
8
8
  class ConferenceEventMethodEnum
9
9
  CONFERENCE_EVENT_METHOD_ENUM = [
10
- # TODO: Write general description for GET
11
- GET = 'GET'.freeze,
12
-
13
- # TODO: Write general description for HEAD
14
- HEAD = 'HEAD'.freeze,
15
-
16
10
  # TODO: Write general description for POST
17
11
  POST = 'POST'.freeze,
18
12
 
19
- # TODO: Write general description for PUT
20
- PUT = 'PUT'.freeze,
21
-
22
- # TODO: Write general description for PATCH
23
- PATCH = 'PATCH'.freeze,
24
-
25
- # TODO: Write general description for DELETE
26
- DELETE = 'DELETE'.freeze,
27
-
28
- # TODO: Write general description for OPTIONS
29
- OPTIONS = 'OPTIONS'.freeze,
30
-
31
- # TODO: Write general description for TRACE
32
- TRACE = 'TRACE'.freeze
13
+ # TODO: Write general description for GET
14
+ GET = 'GET'.freeze
33
15
  ].freeze
34
16
  end
35
17
  end
@@ -4,8 +4,11 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module Bandwidth
7
- # ConferenceMemberDetail Model.
8
- class ConferenceMemberDetail < BaseModel
7
+ # ConferenceMemberState Model.
8
+ class ConferenceMemberState < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
9
12
  # TODO: Write general description for this method
10
13
  # @return [String]
11
14
  attr_accessor :call_id
@@ -42,18 +45,37 @@ module Bandwidth
42
45
  @_hash
43
46
  end
44
47
 
48
+ # An array for optional fields
49
+ def optionals
50
+ %w[
51
+ call_id
52
+ conference_id
53
+ member_url
54
+ mute
55
+ hold
56
+ call_ids_to_coach
57
+ ]
58
+ end
59
+
60
+ # An array for nullable fields
61
+ def nullables
62
+ %w[
63
+ call_ids_to_coach
64
+ ]
65
+ end
66
+
45
67
  def initialize(call_id = nil,
46
68
  conference_id = nil,
47
69
  member_url = nil,
48
70
  mute = nil,
49
71
  hold = nil,
50
72
  call_ids_to_coach = nil)
51
- @call_id = call_id
52
- @conference_id = conference_id
53
- @member_url = member_url
54
- @mute = mute
55
- @hold = hold
56
- @call_ids_to_coach = call_ids_to_coach
73
+ @call_id = call_id unless call_id == SKIP
74
+ @conference_id = conference_id unless conference_id == SKIP
75
+ @member_url = member_url unless member_url == SKIP
76
+ @mute = mute unless mute == SKIP
77
+ @hold = hold unless hold == SKIP
78
+ @call_ids_to_coach = call_ids_to_coach unless call_ids_to_coach == SKIP
57
79
  end
58
80
 
59
81
  # Creates an instance of the object from a hash.
@@ -61,20 +83,21 @@ module Bandwidth
61
83
  return nil unless hash
62
84
 
63
85
  # Extract variables from the hash.
64
- call_id = hash['callId']
65
- conference_id = hash['conferenceId']
66
- member_url = hash['memberUrl']
67
- mute = hash['mute']
68
- hold = hash['hold']
69
- call_ids_to_coach = hash['callIdsToCoach']
86
+ call_id = hash.key?('callId') ? hash['callId'] : SKIP
87
+ conference_id = hash.key?('conferenceId') ? hash['conferenceId'] : SKIP
88
+ member_url = hash.key?('memberUrl') ? hash['memberUrl'] : SKIP
89
+ mute = hash.key?('mute') ? hash['mute'] : SKIP
90
+ hold = hash.key?('hold') ? hash['hold'] : SKIP
91
+ call_ids_to_coach =
92
+ hash.key?('callIdsToCoach') ? hash['callIdsToCoach'] : SKIP
70
93
 
71
94
  # Create object from extracted values.
72
- ConferenceMemberDetail.new(call_id,
73
- conference_id,
74
- member_url,
75
- mute,
76
- hold,
77
- call_ids_to_coach)
95
+ ConferenceMemberState.new(call_id,
96
+ conference_id,
97
+ member_url,
98
+ mute,
99
+ hold,
100
+ call_ids_to_coach)
78
101
  end
79
102
  end
80
103
  end