bandwidth-sdk 8.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bandwidth/api_helper.rb +19 -17
- data/lib/bandwidth/configuration.rb +7 -19
- data/lib/bandwidth/http/faraday_client.rb +1 -1
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +53 -42
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +3 -5
- data/lib/bandwidth/messaging_lib/messaging/exceptions/messaging_exception.rb +5 -2
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_callback_message.rb +31 -11
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message.rb +54 -25
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +65 -32
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_messages_list.rb +23 -4
- data/lib/bandwidth/messaging_lib/messaging/models/deferred_result.rb +20 -4
- data/lib/bandwidth/messaging_lib/messaging/models/media.rb +23 -6
- data/lib/bandwidth/messaging_lib/messaging/models/message_request.rb +32 -14
- data/lib/bandwidth/messaging_lib/messaging/models/page_info.rb +28 -8
- data/lib/bandwidth/messaging_lib/messaging/models/tag.rb +20 -4
- data/lib/bandwidth/models/base_model.rb +11 -0
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/base_controller.rb +3 -5
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/mfa_controller.rb +21 -16
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/error_with_request_exception.rb +5 -2
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/forbidden_request_exception.rb +4 -1
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/unauthorized_request_exception.rb +4 -1
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_code_request_schema.rb +27 -12
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_messaging_response.rb +17 -2
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_code_response.rb +17 -2
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_request_schema.rb +29 -10
- data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_voice_response.rb +17 -2
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb +212 -210
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/base_controller.rb +3 -5
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/exceptions/accounts_tnlookup400_error_exception.rb +4 -1
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_request.rb +17 -2
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_response.rb +20 -4
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_status.rb +28 -7
- data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/result.rb +43 -18
- data/lib/bandwidth/utilities/date_time_helper.rb +2 -2
- data/lib/bandwidth/utilities/file_wrapper.rb +1 -2
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +171 -150
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +3 -5
- data/lib/bandwidth/voice_lib/voice/exceptions/api_error_exception.rb +6 -3
- data/lib/bandwidth/voice_lib/voice/models/call_callback.rb +343 -0
- data/lib/bandwidth/voice_lib/voice/models/call_recording_metadata.rb +78 -37
- data/lib/bandwidth/voice_lib/voice/models/call_state.rb +94 -42
- data/lib/bandwidth/voice_lib/voice/models/conference_callback.rb +211 -0
- data/lib/bandwidth/voice_lib/voice/models/conference_member_state.rb +35 -12
- data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata.rb +55 -24
- data/lib/bandwidth/voice_lib/voice/models/conference_state.rb +54 -17
- data/lib/bandwidth/voice_lib/voice/models/create_call_request.rb +173 -96
- data/lib/bandwidth/voice_lib/voice/models/create_call_response.rb +85 -41
- data/lib/bandwidth/voice_lib/voice/models/diversion.rb +80 -0
- data/lib/bandwidth/voice_lib/voice/models/fallback_method_enum.rb +17 -0
- data/lib/bandwidth/voice_lib/voice/models/machine_detection_configuration.rb +218 -0
- data/lib/bandwidth/voice_lib/voice/models/mode_enum.rb +20 -0
- data/lib/bandwidth/voice_lib/voice/models/modify_call_recording_request.rb +15 -2
- data/lib/bandwidth/voice_lib/voice/models/modify_call_request.rb +59 -19
- data/lib/bandwidth/voice_lib/voice/models/modify_conference_request.rb +55 -18
- data/lib/bandwidth/voice_lib/voice/models/transcribe_recording_request.rb +40 -12
- data/lib/bandwidth/voice_lib/voice/models/transcript.rb +20 -4
- data/lib/bandwidth/voice_lib/voice/models/transcription.rb +80 -0
- data/lib/bandwidth/voice_lib/voice/models/transcription_metadata.rb +26 -8
- data/lib/bandwidth/voice_lib/voice/models/transcription_response.rb +18 -1
- data/lib/bandwidth/voice_lib/voice.rb +7 -1
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +61 -50
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +3 -5
- data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +5 -2
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +20 -5
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +37 -14
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +15 -2
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +20 -4
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +20 -3
- data/lib/bandwidth.rb +19 -18
- data/test/integration/test_integration.rb +75 -53
- metadata +9 -2
|
@@ -7,6 +7,9 @@ require 'date'
|
|
|
7
7
|
module Bandwidth
|
|
8
8
|
# CallState Model.
|
|
9
9
|
class CallState < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
10
13
|
# TODO: Write general description for this method
|
|
11
14
|
# @return [String]
|
|
12
15
|
attr_accessor :call_id
|
|
@@ -51,7 +54,7 @@ module Bandwidth
|
|
|
51
54
|
# 'answered' and 'disconnected'. Additional states may be added in the
|
|
52
55
|
# future, so your application must be tolerant of unknown values.
|
|
53
56
|
# @return [Hash]
|
|
54
|
-
attr_accessor :
|
|
57
|
+
attr_accessor :stir_shaken
|
|
55
58
|
|
|
56
59
|
# The current state of the call. Current possible values are 'initiated',
|
|
57
60
|
# 'answered' and 'disconnected'. Additional states may be added in the
|
|
@@ -119,7 +122,7 @@ module Bandwidth
|
|
|
119
122
|
@_hash['direction'] = 'direction'
|
|
120
123
|
@_hash['state'] = 'state'
|
|
121
124
|
@_hash['identity'] = 'identity'
|
|
122
|
-
@_hash['
|
|
125
|
+
@_hash['stir_shaken'] = 'stirShaken'
|
|
123
126
|
@_hash['start_time'] = 'startTime'
|
|
124
127
|
@_hash['answer_time'] = 'answerTime'
|
|
125
128
|
@_hash['end_time'] = 'endTime'
|
|
@@ -130,6 +133,42 @@ module Bandwidth
|
|
|
130
133
|
@_hash
|
|
131
134
|
end
|
|
132
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
|
+
|
|
133
172
|
def initialize(call_id = nil,
|
|
134
173
|
parent_call_id = nil,
|
|
135
174
|
application_id = nil,
|
|
@@ -139,7 +178,7 @@ module Bandwidth
|
|
|
139
178
|
direction = nil,
|
|
140
179
|
state = nil,
|
|
141
180
|
identity = nil,
|
|
142
|
-
|
|
181
|
+
stir_shaken = nil,
|
|
143
182
|
start_time = nil,
|
|
144
183
|
answer_time = nil,
|
|
145
184
|
end_time = nil,
|
|
@@ -147,23 +186,23 @@ module Bandwidth
|
|
|
147
186
|
error_message = nil,
|
|
148
187
|
error_id = nil,
|
|
149
188
|
last_update = nil)
|
|
150
|
-
@call_id = call_id
|
|
151
|
-
@parent_call_id = parent_call_id
|
|
152
|
-
@application_id = application_id
|
|
153
|
-
@account_id = account_id
|
|
154
|
-
@to = to
|
|
155
|
-
@from = from
|
|
156
|
-
@direction = direction
|
|
157
|
-
@state = state
|
|
158
|
-
@identity = identity
|
|
159
|
-
@
|
|
160
|
-
@start_time = start_time
|
|
161
|
-
@answer_time = answer_time
|
|
162
|
-
@end_time = end_time
|
|
163
|
-
@disconnect_cause = disconnect_cause
|
|
164
|
-
@error_message = error_message
|
|
165
|
-
@error_id = error_id
|
|
166
|
-
@last_update = last_update
|
|
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
|
|
167
206
|
end
|
|
168
207
|
|
|
169
208
|
# Creates an instance of the object from a hash.
|
|
@@ -171,27 +210,40 @@ module Bandwidth
|
|
|
171
210
|
return nil unless hash
|
|
172
211
|
|
|
173
212
|
# Extract variables from the hash.
|
|
174
|
-
call_id = hash['callId']
|
|
175
|
-
parent_call_id = hash['parentCallId']
|
|
176
|
-
application_id = hash['applicationId']
|
|
177
|
-
account_id = hash['accountId']
|
|
178
|
-
to = hash['to']
|
|
179
|
-
from = hash['from']
|
|
180
|
-
direction = hash['direction']
|
|
181
|
-
state = hash['state']
|
|
182
|
-
identity = hash['identity']
|
|
183
|
-
|
|
184
|
-
start_time =
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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
|
|
195
247
|
|
|
196
248
|
# Create object from extracted values.
|
|
197
249
|
CallState.new(call_id,
|
|
@@ -203,7 +255,7 @@ module Bandwidth
|
|
|
203
255
|
direction,
|
|
204
256
|
state,
|
|
205
257
|
identity,
|
|
206
|
-
|
|
258
|
+
stir_shaken,
|
|
207
259
|
start_time,
|
|
208
260
|
answer_time,
|
|
209
261
|
end_time,
|
|
@@ -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
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
module Bandwidth
|
|
7
7
|
# ConferenceMemberState Model.
|
|
8
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,12 +83,13 @@ 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 =
|
|
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
95
|
ConferenceMemberState.new(call_id,
|
|
@@ -7,6 +7,9 @@ require 'date'
|
|
|
7
7
|
module Bandwidth
|
|
8
8
|
# ConferenceRecordingMetadata Model.
|
|
9
9
|
class ConferenceRecordingMetadata < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
10
13
|
# TODO: Write general description for this method
|
|
11
14
|
# @return [String]
|
|
12
15
|
attr_accessor :account_id
|
|
@@ -74,6 +77,28 @@ module Bandwidth
|
|
|
74
77
|
@_hash
|
|
75
78
|
end
|
|
76
79
|
|
|
80
|
+
# An array for optional fields
|
|
81
|
+
def optionals
|
|
82
|
+
%w[
|
|
83
|
+
account_id
|
|
84
|
+
conference_id
|
|
85
|
+
name
|
|
86
|
+
recording_id
|
|
87
|
+
duration
|
|
88
|
+
channels
|
|
89
|
+
start_time
|
|
90
|
+
end_time
|
|
91
|
+
file_format
|
|
92
|
+
status
|
|
93
|
+
media_url
|
|
94
|
+
]
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# An array for nullable fields
|
|
98
|
+
def nullables
|
|
99
|
+
[]
|
|
100
|
+
end
|
|
101
|
+
|
|
77
102
|
def initialize(account_id = nil,
|
|
78
103
|
conference_id = nil,
|
|
79
104
|
name = nil,
|
|
@@ -85,17 +110,17 @@ module Bandwidth
|
|
|
85
110
|
file_format = nil,
|
|
86
111
|
status = nil,
|
|
87
112
|
media_url = nil)
|
|
88
|
-
@account_id = account_id
|
|
89
|
-
@conference_id = conference_id
|
|
90
|
-
@name = name
|
|
91
|
-
@recording_id = recording_id
|
|
92
|
-
@duration = duration
|
|
93
|
-
@channels = channels
|
|
94
|
-
@start_time = start_time
|
|
95
|
-
@end_time = end_time
|
|
96
|
-
@file_format = file_format
|
|
97
|
-
@status = status
|
|
98
|
-
@media_url = media_url
|
|
113
|
+
@account_id = account_id unless account_id == SKIP
|
|
114
|
+
@conference_id = conference_id unless conference_id == SKIP
|
|
115
|
+
@name = name unless name == SKIP
|
|
116
|
+
@recording_id = recording_id unless recording_id == SKIP
|
|
117
|
+
@duration = duration unless duration == SKIP
|
|
118
|
+
@channels = channels unless channels == SKIP
|
|
119
|
+
@start_time = start_time unless start_time == SKIP
|
|
120
|
+
@end_time = end_time unless end_time == SKIP
|
|
121
|
+
@file_format = file_format unless file_format == SKIP
|
|
122
|
+
@status = status unless status == SKIP
|
|
123
|
+
@media_url = media_url unless media_url == SKIP
|
|
99
124
|
end
|
|
100
125
|
|
|
101
126
|
# Creates an instance of the object from a hash.
|
|
@@ -103,19 +128,25 @@ module Bandwidth
|
|
|
103
128
|
return nil unless hash
|
|
104
129
|
|
|
105
130
|
# Extract variables from the hash.
|
|
106
|
-
account_id = hash['accountId']
|
|
107
|
-
conference_id = hash['conferenceId']
|
|
108
|
-
name = hash['name']
|
|
109
|
-
recording_id = hash['recordingId']
|
|
110
|
-
duration = hash['duration']
|
|
111
|
-
channels = hash['channels']
|
|
112
|
-
start_time =
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
|
|
132
|
+
conference_id = hash.key?('conferenceId') ? hash['conferenceId'] : SKIP
|
|
133
|
+
name = hash.key?('name') ? hash['name'] : SKIP
|
|
134
|
+
recording_id = hash.key?('recordingId') ? hash['recordingId'] : SKIP
|
|
135
|
+
duration = hash.key?('duration') ? hash['duration'] : SKIP
|
|
136
|
+
channels = hash.key?('channels') ? hash['channels'] : SKIP
|
|
137
|
+
start_time = if hash.key?('startTime')
|
|
138
|
+
(DateTimeHelper.from_rfc3339(hash['startTime']) if hash['startTime'])
|
|
139
|
+
else
|
|
140
|
+
SKIP
|
|
141
|
+
end
|
|
142
|
+
end_time = if hash.key?('endTime')
|
|
143
|
+
(DateTimeHelper.from_rfc3339(hash['endTime']) if hash['endTime'])
|
|
144
|
+
else
|
|
145
|
+
SKIP
|
|
146
|
+
end
|
|
147
|
+
file_format = hash.key?('fileFormat') ? hash['fileFormat'] : SKIP
|
|
148
|
+
status = hash.key?('status') ? hash['status'] : SKIP
|
|
149
|
+
media_url = hash.key?('mediaUrl') ? hash['mediaUrl'] : SKIP
|
|
119
150
|
|
|
120
151
|
# Create object from extracted values.
|
|
121
152
|
ConferenceRecordingMetadata.new(account_id,
|
|
@@ -7,6 +7,9 @@ require 'date'
|
|
|
7
7
|
module Bandwidth
|
|
8
8
|
# ConferenceState Model.
|
|
9
9
|
class ConferenceState < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
10
13
|
# TODO: Write general description for this method
|
|
11
14
|
# @return [String]
|
|
12
15
|
attr_accessor :id
|
|
@@ -53,6 +56,30 @@ module Bandwidth
|
|
|
53
56
|
@_hash
|
|
54
57
|
end
|
|
55
58
|
|
|
59
|
+
# An array for optional fields
|
|
60
|
+
def optionals
|
|
61
|
+
%w[
|
|
62
|
+
id
|
|
63
|
+
name
|
|
64
|
+
created_time
|
|
65
|
+
completed_time
|
|
66
|
+
conference_event_url
|
|
67
|
+
conference_event_method
|
|
68
|
+
tag
|
|
69
|
+
active_members
|
|
70
|
+
]
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# An array for nullable fields
|
|
74
|
+
def nullables
|
|
75
|
+
%w[
|
|
76
|
+
completed_time
|
|
77
|
+
conference_event_url
|
|
78
|
+
conference_event_method
|
|
79
|
+
tag
|
|
80
|
+
]
|
|
81
|
+
end
|
|
82
|
+
|
|
56
83
|
def initialize(id = nil,
|
|
57
84
|
name = nil,
|
|
58
85
|
created_time = nil,
|
|
@@ -61,14 +88,14 @@ module Bandwidth
|
|
|
61
88
|
conference_event_method = nil,
|
|
62
89
|
tag = nil,
|
|
63
90
|
active_members = nil)
|
|
64
|
-
@id = id
|
|
65
|
-
@name = name
|
|
66
|
-
@created_time = created_time
|
|
67
|
-
@completed_time = completed_time
|
|
68
|
-
@conference_event_url = conference_event_url
|
|
69
|
-
@conference_event_method = conference_event_method
|
|
70
|
-
@tag = tag
|
|
71
|
-
@active_members = active_members
|
|
91
|
+
@id = id unless id == SKIP
|
|
92
|
+
@name = name unless name == SKIP
|
|
93
|
+
@created_time = created_time unless created_time == SKIP
|
|
94
|
+
@completed_time = completed_time unless completed_time == SKIP
|
|
95
|
+
@conference_event_url = conference_event_url unless conference_event_url == SKIP
|
|
96
|
+
@conference_event_method = conference_event_method unless conference_event_method == SKIP
|
|
97
|
+
@tag = tag unless tag == SKIP
|
|
98
|
+
@active_members = active_members unless active_members == SKIP
|
|
72
99
|
end
|
|
73
100
|
|
|
74
101
|
# Creates an instance of the object from a hash.
|
|
@@ -76,15 +103,23 @@ module Bandwidth
|
|
|
76
103
|
return nil unless hash
|
|
77
104
|
|
|
78
105
|
# Extract variables from the hash.
|
|
79
|
-
id = hash['id']
|
|
80
|
-
name = hash['name']
|
|
81
|
-
created_time =
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
106
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
|
107
|
+
name = hash.key?('name') ? hash['name'] : SKIP
|
|
108
|
+
created_time = if hash.key?('createdTime')
|
|
109
|
+
(DateTimeHelper.from_rfc3339(hash['createdTime']) if hash['createdTime'])
|
|
110
|
+
else
|
|
111
|
+
SKIP
|
|
112
|
+
end
|
|
113
|
+
completed_time = if hash.key?('completedTime')
|
|
114
|
+
(DateTimeHelper.from_rfc3339(hash['completedTime']) if hash['completedTime'])
|
|
115
|
+
else
|
|
116
|
+
SKIP
|
|
117
|
+
end
|
|
118
|
+
conference_event_url =
|
|
119
|
+
hash.key?('conferenceEventUrl') ? hash['conferenceEventUrl'] : SKIP
|
|
120
|
+
conference_event_method =
|
|
121
|
+
hash.key?('conferenceEventMethod') ? hash['conferenceEventMethod'] : SKIP
|
|
122
|
+
tag = hash.key?('tag') ? hash['tag'] : SKIP
|
|
88
123
|
# Parameter is an array, so we need to iterate through it
|
|
89
124
|
active_members = nil
|
|
90
125
|
unless hash['activeMembers'].nil?
|
|
@@ -94,6 +129,8 @@ module Bandwidth
|
|
|
94
129
|
end
|
|
95
130
|
end
|
|
96
131
|
|
|
132
|
+
active_members = SKIP unless hash.key?('activeMembers')
|
|
133
|
+
|
|
97
134
|
# Create object from extracted values.
|
|
98
135
|
ConferenceState.new(id,
|
|
99
136
|
name,
|