bandwidth-sdk 10.3.0 → 11.0.0.pre.beta.1.1

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 (526) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +76 -0
  4. data/README.md +197 -139
  5. data/Rakefile +22 -0
  6. data/bandwidth-sdk.gemspec +40 -0
  7. data/bandwidth.yml +5551 -0
  8. data/docs/AccountStatistics.md +20 -0
  9. data/docs/AnswerCallback.md +44 -0
  10. data/docs/BridgeCompleteCallback.md +48 -0
  11. data/docs/BridgeTargetCompleteCallback.md +42 -0
  12. data/docs/CallDirectionEnum.md +15 -0
  13. data/docs/CallRecordingMetadata.md +52 -0
  14. data/docs/CallState.md +52 -0
  15. data/docs/CallStateEnum.md +15 -0
  16. data/docs/CallbackMethodEnum.md +15 -0
  17. data/docs/CallsApi.md +304 -0
  18. data/docs/CodeRequest.md +28 -0
  19. data/docs/Conference.md +32 -0
  20. data/docs/ConferenceCompletedCallback.md +26 -0
  21. data/docs/ConferenceCreatedCallback.md +26 -0
  22. data/docs/ConferenceMember.md +28 -0
  23. data/docs/ConferenceMemberExitCallback.md +32 -0
  24. data/docs/ConferenceMemberJoinCallback.md +32 -0
  25. data/docs/ConferenceRecordingAvailableCallback.md +44 -0
  26. data/docs/ConferenceRecordingMetadata.md +38 -0
  27. data/docs/ConferenceRedirectCallback.md +26 -0
  28. data/docs/ConferenceStateEnum.md +15 -0
  29. data/docs/ConferencesApi.md +688 -0
  30. data/docs/CreateCall.md +54 -0
  31. data/docs/CreateCallResponse.md +58 -0
  32. data/docs/CreateLookupResponse.md +20 -0
  33. data/docs/CreateMessageRequestError.md +22 -0
  34. data/docs/CreateParticipantRequest.md +24 -0
  35. data/docs/CreateParticipantResponse.md +20 -0
  36. data/docs/DeferredResult.md +20 -0
  37. data/docs/DeviceApiVersionEnum.md +15 -0
  38. data/docs/DisconenctCallback.md +50 -0
  39. data/docs/DisconnectCallback.md +50 -0
  40. data/docs/Diversion.md +30 -0
  41. data/docs/DtmfCallback.md +50 -0
  42. data/docs/FieldError.md +20 -0
  43. data/docs/FileFormatEnum.md +15 -0
  44. data/docs/ForbiddenRequest.md +18 -0
  45. data/docs/GatherCallback.md +52 -0
  46. data/docs/InboundMessageCallback.md +26 -0
  47. data/docs/InboundMessageCallbackMessage.md +40 -0
  48. data/docs/InitiateCallback.md +40 -0
  49. data/docs/ListMessageDirectionEnum.md +15 -0
  50. data/docs/ListMessageItem.md +48 -0
  51. data/docs/LookupRequest.md +18 -0
  52. data/docs/LookupResult.md +34 -0
  53. data/docs/LookupStatus.md +24 -0
  54. data/docs/LookupStatusEnum.md +15 -0
  55. data/docs/MFAApi.md +226 -0
  56. data/docs/MachineDetectionCompleteCallback.md +44 -0
  57. data/docs/MachineDetectionConfiguration.md +46 -0
  58. data/docs/MachineDetectionModeEnum.md +15 -0
  59. data/docs/Media.md +22 -0
  60. data/docs/MediaApi.md +307 -0
  61. data/docs/Message.md +42 -0
  62. data/docs/MessageDeliveredCallback.md +26 -0
  63. data/docs/MessageDeliveredCallbackMessage.md +40 -0
  64. data/docs/MessageDirectionEnum.md +15 -0
  65. data/docs/MessageFailedCallback.md +28 -0
  66. data/docs/MessageFailedCallbackMessage.md +40 -0
  67. data/docs/MessageRequest.md +32 -0
  68. data/docs/MessageSendingCallback.md +26 -0
  69. data/docs/MessageSendingCallbackMessage.md +40 -0
  70. data/docs/MessageStatusEnum.md +15 -0
  71. data/docs/MessageTypeEnum.md +15 -0
  72. data/docs/MessagesApi.md +179 -0
  73. data/docs/MessagesList.md +22 -0
  74. data/docs/MessagingCodeResponse.md +18 -0
  75. data/docs/MessagingRequestError.md +20 -0
  76. data/docs/MfaForbiddenRequestError.md +18 -0
  77. data/docs/MfaRequestError.md +20 -0
  78. data/docs/MfaUnauthorizedRequestError.md +18 -0
  79. data/docs/PageInfo.md +24 -0
  80. data/docs/Participant.md +30 -0
  81. data/docs/ParticipantSubscription.md +20 -0
  82. data/docs/ParticipantsApi.md +227 -0
  83. data/docs/PhoneNumberLookupApi.md +153 -0
  84. data/docs/PriorityEnum.md +15 -0
  85. data/docs/PublishPermissionsEnum.md +15 -0
  86. data/docs/RecordingAvailableCallback.md +60 -0
  87. data/docs/RecordingCompleteCallback.md +60 -0
  88. data/docs/RecordingStateEnum.md +15 -0
  89. data/docs/RecordingsApi.md +758 -0
  90. data/docs/RedirectCallback.md +48 -0
  91. data/docs/RedirectMethodEnum.md +15 -0
  92. data/docs/RequestError.md +20 -0
  93. data/docs/Session.md +20 -0
  94. data/docs/SessionsApi.md +605 -0
  95. data/docs/StatisticsApi.md +78 -0
  96. data/docs/StirShaken.md +22 -0
  97. data/docs/Subscriptions.md +20 -0
  98. data/docs/Tag.md +20 -0
  99. data/docs/TnLookupRequestError.md +18 -0
  100. data/docs/TranscribeRecording.md +28 -0
  101. data/docs/Transcription.md +20 -0
  102. data/docs/TranscriptionAvailableCallback.md +58 -0
  103. data/docs/TranscriptionList.md +18 -0
  104. data/docs/TranscriptionMetadata.md +24 -0
  105. data/docs/TransferAnswerCallback.md +46 -0
  106. data/docs/TransferCompleteCallback.md +52 -0
  107. data/docs/TransferDisconnectCallback.md +56 -0
  108. data/docs/UnauthorizedRequest.md +18 -0
  109. data/docs/UpdateCall.md +36 -0
  110. data/docs/UpdateCallRecording.md +18 -0
  111. data/docs/UpdateConference.md +34 -0
  112. data/docs/UpdateConferenceMember.md +22 -0
  113. data/docs/VerifyCodeRequest.md +24 -0
  114. data/docs/VerifyCodeResponse.md +18 -0
  115. data/docs/VoiceApiError.md +22 -0
  116. data/docs/VoiceCodeResponse.md +18 -0
  117. data/git_push.sh +57 -0
  118. data/lib/bandwidth-sdk/api/calls_api.rb +325 -0
  119. data/lib/bandwidth-sdk/api/conferences_api.rb +717 -0
  120. data/lib/bandwidth-sdk/api/media_api.rb +312 -0
  121. data/lib/bandwidth-sdk/api/messages_api.rb +198 -0
  122. data/lib/bandwidth-sdk/api/mfa_api.rb +244 -0
  123. data/lib/bandwidth-sdk/api/phone_number_lookup_api.rb +165 -0
  124. data/lib/bandwidth-sdk/api/recordings_api.rb +782 -0
  125. data/lib/bandwidth-sdk/api/statistics_api.rb +85 -0
  126. data/lib/bandwidth-sdk/api_client.rb +428 -0
  127. data/lib/bandwidth-sdk/api_error.rb +58 -0
  128. data/lib/bandwidth-sdk/configuration.rb +589 -0
  129. data/lib/bandwidth-sdk/models/account_statistics.rb +230 -0
  130. data/lib/bandwidth-sdk/models/answer_callback.rb +376 -0
  131. data/lib/bandwidth-sdk/models/bridge_complete_callback.rb +397 -0
  132. data/lib/bandwidth-sdk/models/bridge_target_complete_callback.rb +365 -0
  133. data/lib/bandwidth-sdk/models/bxml/bxml.rb +13 -0
  134. data/lib/bandwidth-sdk/models/bxml/nestable_verb.rb +50 -0
  135. data/lib/bandwidth-sdk/models/bxml/response.rb +13 -0
  136. data/lib/bandwidth-sdk/models/bxml/root.rb +47 -0
  137. data/lib/bandwidth-sdk/models/bxml/verb.rb +51 -0
  138. data/lib/bandwidth-sdk/models/bxml/verbs/bridge.rb +30 -0
  139. data/lib/bandwidth-sdk/models/bxml/verbs/conference.rb +31 -0
  140. data/lib/bandwidth-sdk/models/bxml/verbs/forward.rb +22 -0
  141. data/lib/bandwidth-sdk/models/bxml/verbs/gather.rb +44 -0
  142. data/lib/bandwidth-sdk/models/bxml/verbs/hangup.rb +12 -0
  143. data/lib/bandwidth-sdk/models/bxml/verbs/pause.rb +17 -0
  144. data/lib/bandwidth-sdk/models/bxml/verbs/pause_recording.rb +12 -0
  145. data/lib/bandwidth-sdk/models/bxml/verbs/phone_number.rb +28 -0
  146. data/lib/bandwidth-sdk/models/bxml/verbs/play_audio.rb +19 -0
  147. data/lib/bandwidth-sdk/models/bxml/verbs/record.rb +34 -0
  148. data/lib/bandwidth-sdk/models/bxml/verbs/redirect.rb +25 -0
  149. data/lib/bandwidth-sdk/models/bxml/verbs/resume_recording.rb +12 -0
  150. data/lib/bandwidth-sdk/models/bxml/verbs/ring.rb +18 -0
  151. data/lib/bandwidth-sdk/models/bxml/verbs/send_dtmf.rb +19 -0
  152. data/lib/bandwidth-sdk/models/bxml/verbs/sip_uri.rb +29 -0
  153. data/lib/bandwidth-sdk/models/bxml/verbs/speak_sentence.rb +27 -0
  154. data/lib/bandwidth-sdk/models/bxml/verbs/start_gather.rb +21 -0
  155. data/lib/bandwidth-sdk/models/bxml/verbs/start_recording.rb +26 -0
  156. data/lib/bandwidth-sdk/models/bxml/verbs/start_stream.rb +30 -0
  157. data/lib/bandwidth-sdk/models/bxml/verbs/stop_gather.rb +12 -0
  158. data/lib/bandwidth-sdk/models/bxml/verbs/stop_recording.rb +12 -0
  159. data/lib/bandwidth-sdk/models/bxml/verbs/stop_stream.rb +17 -0
  160. data/lib/bandwidth-sdk/models/bxml/verbs/stream_param.rb +18 -0
  161. data/lib/bandwidth-sdk/models/bxml/verbs/tag.rb +13 -0
  162. data/lib/bandwidth-sdk/models/bxml/verbs/transfer.rb +36 -0
  163. data/lib/bandwidth-sdk/models/call_direction_enum.rb +40 -0
  164. data/lib/bandwidth-sdk/models/call_recording_metadata.rb +411 -0
  165. data/lib/bandwidth-sdk/models/call_state.rb +423 -0
  166. data/lib/bandwidth-sdk/models/call_state_enum.rb +40 -0
  167. data/lib/bandwidth-sdk/models/callback_method_enum.rb +40 -0
  168. data/lib/bandwidth-sdk/models/code_request.rb +427 -0
  169. data/lib/bandwidth-sdk/models/conference.rb +320 -0
  170. data/lib/bandwidth-sdk/models/conference_completed_callback.rb +262 -0
  171. data/lib/bandwidth-sdk/models/conference_created_callback.rb +262 -0
  172. data/lib/bandwidth-sdk/models/conference_member.rb +273 -0
  173. data/lib/bandwidth-sdk/models/conference_member_exit_callback.rb +292 -0
  174. data/lib/bandwidth-sdk/models/conference_member_join_callback.rb +292 -0
  175. data/lib/bandwidth-sdk/models/conference_recording_available_callback.rb +374 -0
  176. data/lib/bandwidth-sdk/models/conference_recording_metadata.rb +342 -0
  177. data/lib/bandwidth-sdk/models/conference_redirect_callback.rb +262 -0
  178. data/lib/bandwidth-sdk/models/conference_state_enum.rb +40 -0
  179. data/lib/bandwidth-sdk/models/create_call.rb +651 -0
  180. data/lib/bandwidth-sdk/models/create_call_response.rb +552 -0
  181. data/lib/bandwidth-sdk/models/create_lookup_response.rb +252 -0
  182. data/lib/bandwidth-sdk/models/create_message_request_error.rb +249 -0
  183. data/lib/bandwidth-sdk/models/deferred_result.rb +228 -0
  184. data/lib/bandwidth-sdk/models/disconenct_callback.rb +407 -0
  185. data/lib/bandwidth-sdk/models/disconnect_callback.rb +407 -0
  186. data/lib/bandwidth-sdk/models/diversion.rb +280 -0
  187. data/lib/bandwidth-sdk/models/dtmf_callback.rb +405 -0
  188. data/lib/bandwidth-sdk/models/field_error.rb +230 -0
  189. data/lib/bandwidth-sdk/models/file_format_enum.rb +40 -0
  190. data/lib/bandwidth-sdk/models/gather_callback.rb +415 -0
  191. data/lib/bandwidth-sdk/models/inbound_message_callback.rb +281 -0
  192. data/lib/bandwidth-sdk/models/inbound_message_callback_message.rb +399 -0
  193. data/lib/bandwidth-sdk/models/initiate_callback.rb +350 -0
  194. data/lib/bandwidth-sdk/models/list_message_direction_enum.rb +40 -0
  195. data/lib/bandwidth-sdk/models/list_message_item.rb +394 -0
  196. data/lib/bandwidth-sdk/models/lookup_request.rb +227 -0
  197. data/lib/bandwidth-sdk/models/lookup_result.rb +301 -0
  198. data/lib/bandwidth-sdk/models/lookup_status.rb +276 -0
  199. data/lib/bandwidth-sdk/models/lookup_status_enum.rb +42 -0
  200. data/lib/bandwidth-sdk/models/machine_detection_complete_callback.rb +376 -0
  201. data/lib/bandwidth-sdk/models/machine_detection_configuration.rb +500 -0
  202. data/lib/bandwidth-sdk/models/machine_detection_mode_enum.rb +40 -0
  203. data/lib/bandwidth-sdk/models/media.rb +237 -0
  204. data/lib/bandwidth-sdk/models/message.rb +376 -0
  205. data/lib/bandwidth-sdk/models/message_delivered_callback.rb +281 -0
  206. data/lib/bandwidth-sdk/models/message_delivered_callback_message.rb +404 -0
  207. data/lib/bandwidth-sdk/models/message_direction_enum.rb +40 -0
  208. data/lib/bandwidth-sdk/models/message_failed_callback.rb +295 -0
  209. data/lib/bandwidth-sdk/models/message_failed_callback_message.rb +409 -0
  210. data/lib/bandwidth-sdk/models/message_request.rb +355 -0
  211. data/lib/bandwidth-sdk/models/message_sending_callback.rb +281 -0
  212. data/lib/bandwidth-sdk/models/message_sending_callback_message.rb +409 -0
  213. data/lib/bandwidth-sdk/models/message_status_enum.rb +46 -0
  214. data/lib/bandwidth-sdk/models/message_type_enum.rb +40 -0
  215. data/lib/bandwidth-sdk/models/messages_list.rb +240 -0
  216. data/lib/bandwidth-sdk/models/messaging_code_response.rb +220 -0
  217. data/lib/bandwidth-sdk/models/messaging_request_error.rb +238 -0
  218. data/lib/bandwidth-sdk/models/mfa_forbidden_request_error.rb +220 -0
  219. data/lib/bandwidth-sdk/models/mfa_request_error.rb +230 -0
  220. data/lib/bandwidth-sdk/models/mfa_unauthorized_request_error.rb +220 -0
  221. data/lib/bandwidth-sdk/models/page_info.rb +250 -0
  222. data/lib/bandwidth-sdk/models/priority_enum.rb +40 -0
  223. data/lib/bandwidth-sdk/models/recording_available_callback.rb +454 -0
  224. data/lib/bandwidth-sdk/models/recording_complete_callback.rb +455 -0
  225. data/lib/bandwidth-sdk/models/recording_state_enum.rb +40 -0
  226. data/lib/bandwidth-sdk/models/redirect_callback.rb +395 -0
  227. data/lib/bandwidth-sdk/models/redirect_method_enum.rb +40 -0
  228. data/lib/bandwidth-sdk/models/stir_shaken.rb +240 -0
  229. data/lib/bandwidth-sdk/models/tag.rb +228 -0
  230. data/lib/bandwidth-sdk/models/tn_lookup_request_error.rb +220 -0
  231. data/lib/bandwidth-sdk/models/transcribe_recording.rb +354 -0
  232. data/lib/bandwidth-sdk/models/transcription.rb +230 -0
  233. data/lib/bandwidth-sdk/models/transcription_available_callback.rb +443 -0
  234. data/lib/bandwidth-sdk/models/transcription_list.rb +221 -0
  235. data/lib/bandwidth-sdk/models/transcription_metadata.rb +251 -0
  236. data/lib/bandwidth-sdk/models/transfer_answer_callback.rb +385 -0
  237. data/lib/bandwidth-sdk/models/transfer_complete_callback.rb +417 -0
  238. data/lib/bandwidth-sdk/models/transfer_disconnect_callback.rb +437 -0
  239. data/lib/bandwidth-sdk/models/update_call.rb +411 -0
  240. data/lib/bandwidth-sdk/models/update_call_recording.rb +246 -0
  241. data/lib/bandwidth-sdk/models/update_conference.rb +394 -0
  242. data/lib/bandwidth-sdk/models/update_conference_member.rb +243 -0
  243. data/lib/bandwidth-sdk/models/verify_code_request.rb +342 -0
  244. data/lib/bandwidth-sdk/models/verify_code_response.rb +220 -0
  245. data/lib/bandwidth-sdk/models/voice_api_error.rb +238 -0
  246. data/lib/bandwidth-sdk/models/voice_code_response.rb +220 -0
  247. data/lib/bandwidth-sdk/version.rb +15 -0
  248. data/lib/bandwidth-sdk.rb +166 -0
  249. data/openapi-config.yml +11 -0
  250. data/ruby-notes.md +15 -0
  251. data/spec/call_utils.rb +74 -0
  252. data/spec/fixtures/ruby_cat.jpeg +0 -0
  253. data/spec/integration/calls_api_integration_spec.rb +181 -0
  254. data/spec/integration/conferences_api_integration_spec.rb +163 -0
  255. data/spec/integration/media_api_integration_spec.rb +86 -0
  256. data/spec/integration/messages_api_integration_spec.rb +125 -0
  257. data/spec/integration/mfa_api_integration_spec.rb +109 -0
  258. data/spec/integration/phone_number_lookup_api_integration_spec.rb +92 -0
  259. data/spec/integration/recordings_api_integration_spec.rb +219 -0
  260. data/spec/integration/statistics_api_integration_spec.rb +57 -0
  261. data/spec/spec_helper.rb +154 -0
  262. data/spec/unit/api/calls_api_spec.rb +89 -0
  263. data/spec/unit/api/conferences_api_spec.rb +163 -0
  264. data/spec/unit/api/media_api_spec.rb +90 -0
  265. data/spec/unit/api/messages_api_spec.rb +73 -0
  266. data/spec/unit/api/mfa_api_spec.rb +74 -0
  267. data/spec/unit/api/phone_number_lookup_api_spec.rb +61 -0
  268. data/spec/unit/api/recordings_api_spec.rb +177 -0
  269. data/spec/unit/api/statistics_api_spec.rb +47 -0
  270. data/spec/unit/models/account_statistics_spec.rb +40 -0
  271. data/spec/unit/models/answer_callback_spec.rb +112 -0
  272. data/spec/unit/models/bridge_complete_callback_spec.rb +124 -0
  273. data/spec/unit/models/bridge_target_complete_callback_spec.rb +106 -0
  274. data/spec/unit/models/bxml/bxml_spec.rb +18 -0
  275. data/spec/unit/models/bxml/nestable_verb_spec.rb +13 -0
  276. data/spec/unit/models/bxml/response_spec.rb +18 -0
  277. data/spec/unit/models/bxml/verb_spec.rb +28 -0
  278. data/spec/unit/models/bxml/verbs/bridge_spec.rb +60 -0
  279. data/spec/unit/models/bxml/verbs/conference_spec.rb +60 -0
  280. data/spec/unit/models/bxml/verbs/forward_spec.rb +46 -0
  281. data/spec/unit/models/bxml/verbs/gather_spec.rb +88 -0
  282. data/spec/unit/models/bxml/verbs/hangup_spec.rb +18 -0
  283. data/spec/unit/models/bxml/verbs/pause_recording_spec.rb +18 -0
  284. data/spec/unit/models/bxml/verbs/pause_spec.rb +36 -0
  285. data/spec/unit/models/bxml/verbs/phone_number_spec.rb +56 -0
  286. data/spec/unit/models/bxml/verbs/play_audio_spec.rb +38 -0
  287. data/spec/unit/models/bxml/verbs/record_spec.rb +70 -0
  288. data/spec/unit/models/bxml/verbs/redirect_spec.rb +52 -0
  289. data/spec/unit/models/bxml/verbs/resume_recording_spec.rb +18 -0
  290. data/spec/unit/models/bxml/verbs/ring_spec.rb +38 -0
  291. data/spec/unit/models/bxml/verbs/send_dtmf_spec.rb +38 -0
  292. data/spec/unit/models/bxml/verbs/sip_uri_spec.rb +58 -0
  293. data/spec/unit/models/bxml/verbs/speak_sentence_spec.rb +40 -0
  294. data/spec/unit/models/bxml/verbs/start_gather_spec.rb +44 -0
  295. data/spec/unit/models/bxml/verbs/start_recording_spec.rb +54 -0
  296. data/spec/unit/models/bxml/verbs/start_stream_spec.rb +74 -0
  297. data/spec/unit/models/bxml/verbs/stop_gather_spec.rb +18 -0
  298. data/spec/unit/models/bxml/verbs/stop_recording_spec.rb +18 -0
  299. data/spec/unit/models/bxml/verbs/stop_stream_spec.rb +36 -0
  300. data/spec/unit/models/bxml/verbs/stream_param_spec.rb +38 -0
  301. data/spec/unit/models/bxml/verbs/tag_spec.rb +18 -0
  302. data/spec/unit/models/bxml/verbs/transfer_spec.rb +86 -0
  303. data/spec/unit/models/call_direction_enum_spec.rb +28 -0
  304. data/spec/unit/models/call_recording_metadata_spec.rb +136 -0
  305. data/spec/unit/models/call_state_enum_spec.rb +28 -0
  306. data/spec/unit/models/call_state_spec.rb +136 -0
  307. data/spec/unit/models/callback_method_enum_spec.rb +28 -0
  308. data/spec/unit/models/code_request_spec.rb +64 -0
  309. data/spec/unit/models/conference_completed_callback_spec.rb +58 -0
  310. data/spec/unit/models/conference_created_callback_spec.rb +58 -0
  311. data/spec/unit/models/conference_member_exit_callback_spec.rb +76 -0
  312. data/spec/unit/models/conference_member_join_callback_spec.rb +76 -0
  313. data/spec/unit/models/conference_member_spec.rb +64 -0
  314. data/spec/unit/models/conference_recording_available_callback_spec.rb +112 -0
  315. data/spec/unit/models/conference_recording_metadata_spec.rb +94 -0
  316. data/spec/unit/models/conference_redirect_callback_spec.rb +58 -0
  317. data/spec/unit/models/conference_spec.rb +76 -0
  318. data/spec/unit/models/conference_state_enum_spec.rb +28 -0
  319. data/spec/unit/models/create_call_response_spec.rb +154 -0
  320. data/spec/unit/models/create_call_spec.rb +142 -0
  321. data/spec/unit/models/create_lookup_response_spec.rb +40 -0
  322. data/spec/unit/models/create_message_request_error_spec.rb +46 -0
  323. data/spec/unit/models/deferred_result_spec.rb +40 -0
  324. data/spec/unit/models/disconnect_callback_spec.rb +130 -0
  325. data/spec/unit/models/diversion_spec.rb +70 -0
  326. data/spec/unit/models/dtmf_callback_spec.rb +130 -0
  327. data/spec/unit/models/field_error_spec.rb +40 -0
  328. data/spec/unit/models/file_format_enum_spec.rb +28 -0
  329. data/spec/unit/models/gather_callback_spec.rb +136 -0
  330. data/spec/unit/models/inbound_message_callback_message_spec.rb +100 -0
  331. data/spec/unit/models/inbound_message_callback_spec.rb +58 -0
  332. data/spec/unit/models/initiate_callback_spec.rb +100 -0
  333. data/spec/unit/models/list_message_direction_enum_spec.rb +28 -0
  334. data/spec/unit/models/list_message_item_spec.rb +124 -0
  335. data/spec/unit/models/lookup_request_spec.rb +34 -0
  336. data/spec/unit/models/lookup_result_spec.rb +82 -0
  337. data/spec/unit/models/lookup_status_enum_spec.rb +28 -0
  338. data/spec/unit/models/lookup_status_spec.rb +52 -0
  339. data/spec/unit/models/machine_detection_complete_callback_spec.rb +112 -0
  340. data/spec/unit/models/machine_detection_configuration_spec.rb +118 -0
  341. data/spec/unit/models/machine_detection_mode_enum_spec.rb +28 -0
  342. data/spec/unit/models/media_spec.rb +46 -0
  343. data/spec/unit/models/message_delivered_callback_message_spec.rb +100 -0
  344. data/spec/unit/models/message_delivered_callback_spec.rb +58 -0
  345. data/spec/unit/models/message_direction_enum_spec.rb +28 -0
  346. data/spec/unit/models/message_failed_callback_message_spec.rb +100 -0
  347. data/spec/unit/models/message_failed_callback_spec.rb +64 -0
  348. data/spec/unit/models/message_request_spec.rb +76 -0
  349. data/spec/unit/models/message_sending_callback_message_spec.rb +100 -0
  350. data/spec/unit/models/message_sending_callback_spec.rb +58 -0
  351. data/spec/unit/models/message_spec.rb +106 -0
  352. data/spec/unit/models/message_status_enum_spec.rb +28 -0
  353. data/spec/unit/models/message_type_enum_spec.rb +28 -0
  354. data/spec/unit/models/messages_list_spec.rb +46 -0
  355. data/spec/unit/models/messaging_code_response_spec.rb +34 -0
  356. data/spec/unit/models/messaging_request_error_spec.rb +40 -0
  357. data/spec/unit/models/mfa_forbidden_request_error_spec.rb +34 -0
  358. data/spec/unit/models/mfa_request_error_spec.rb +40 -0
  359. data/spec/unit/models/mfa_unauthorized_request_error_spec.rb +34 -0
  360. data/spec/unit/models/page_info_spec.rb +52 -0
  361. data/spec/unit/models/priority_enum_spec.rb +28 -0
  362. data/spec/unit/models/recording_available_callback_spec.rb +160 -0
  363. data/spec/unit/models/recording_complete_callback_spec.rb +160 -0
  364. data/spec/unit/models/recording_state_enum_spec.rb +28 -0
  365. data/spec/unit/models/redirect_callback_spec.rb +124 -0
  366. data/spec/unit/models/redirect_method_enum_spec.rb +28 -0
  367. data/spec/unit/models/stir_shaken_spec.rb +46 -0
  368. data/spec/unit/models/tag_spec.rb +40 -0
  369. data/spec/unit/models/tn_lookup_request_error_spec.rb +34 -0
  370. data/spec/unit/models/transcribe_recording_spec.rb +64 -0
  371. data/spec/unit/models/transcription_available_callback_spec.rb +154 -0
  372. data/spec/unit/models/transcription_list_spec.rb +34 -0
  373. data/spec/unit/models/transcription_metadata_spec.rb +52 -0
  374. data/spec/unit/models/transcription_spec.rb +40 -0
  375. data/spec/unit/models/transfer_answer_callback_spec.rb +118 -0
  376. data/spec/unit/models/transfer_complete_callback_spec.rb +136 -0
  377. data/spec/unit/models/transfer_disconnect_callback_spec.rb +148 -0
  378. data/spec/unit/models/update_call_recording_spec.rb +34 -0
  379. data/spec/unit/models/update_call_spec.rb +88 -0
  380. data/spec/unit/models/update_conference_member_spec.rb +46 -0
  381. data/spec/unit/models/update_conference_spec.rb +82 -0
  382. data/spec/unit/models/verify_code_request_spec.rb +52 -0
  383. data/spec/unit/models/verify_code_response_spec.rb +34 -0
  384. data/spec/unit/models/voice_api_error_spec.rb +46 -0
  385. data/spec/unit/models/voice_code_response_spec.rb +34 -0
  386. metadata +543 -248
  387. data/LICENSE +0 -28
  388. data/lib/bandwidth/api_helper.rb +0 -280
  389. data/lib/bandwidth/client.rb +0 -75
  390. data/lib/bandwidth/configuration.rb +0 -209
  391. data/lib/bandwidth/exceptions/api_exception.rb +0 -20
  392. data/lib/bandwidth/http/api_response.rb +0 -38
  393. data/lib/bandwidth/http/auth/messaging_basic_auth.rb +0 -22
  394. data/lib/bandwidth/http/auth/multi_factor_auth_basic_auth.rb +0 -22
  395. data/lib/bandwidth/http/auth/phone_number_lookup_basic_auth.rb +0 -22
  396. data/lib/bandwidth/http/auth/voice_basic_auth.rb +0 -22
  397. data/lib/bandwidth/http/auth/web_rtc_basic_auth.rb +0 -22
  398. data/lib/bandwidth/http/faraday_client.rb +0 -70
  399. data/lib/bandwidth/http/http_call_back.rb +0 -24
  400. data/lib/bandwidth/http/http_client.rb +0 -104
  401. data/lib/bandwidth/http/http_method_enum.rb +0 -13
  402. data/lib/bandwidth/http/http_request.rb +0 -50
  403. data/lib/bandwidth/http/http_response.rb +0 -29
  404. data/lib/bandwidth/messaging_lib/messaging/client.rb +0 -60
  405. data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +0 -491
  406. data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +0 -47
  407. data/lib/bandwidth/messaging_lib/messaging/exceptions/messaging_exception.rb +0 -37
  408. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_callback_message.rb +0 -100
  409. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message.rb +0 -174
  410. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +0 -203
  411. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_messages_list.rb +0 -79
  412. data/lib/bandwidth/messaging_lib/messaging/models/deferred_result.rb +0 -60
  413. data/lib/bandwidth/messaging_lib/messaging/models/media.rb +0 -70
  414. data/lib/bandwidth/messaging_lib/messaging/models/message_request.rb +0 -122
  415. data/lib/bandwidth/messaging_lib/messaging/models/page_info.rb +0 -82
  416. data/lib/bandwidth/messaging_lib/messaging/models/priority_enum.rb +0 -19
  417. data/lib/bandwidth/messaging_lib/messaging/models/tag.rb +0 -60
  418. data/lib/bandwidth/messaging_lib/messaging.rb +0 -25
  419. data/lib/bandwidth/models/base_model.rb +0 -58
  420. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/client.rb +0 -60
  421. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/base_controller.rb +0 -47
  422. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/mfa_controller.rb +0 -214
  423. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/error_with_request_exception.rb +0 -37
  424. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/forbidden_request_exception.rb +0 -32
  425. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/unauthorized_request_exception.rb +0 -32
  426. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_code_request_schema.rb +0 -103
  427. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_messaging_response.rb +0 -50
  428. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_code_response.rb +0 -50
  429. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_request_schema.rb +0 -94
  430. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_voice_response.rb +0 -50
  431. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth.rb +0 -23
  432. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/client.rb +0 -60
  433. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb +0 -1553
  434. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/base_controller.rb +0 -47
  435. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/exceptions/accounts_tnlookup400_error_exception.rb +0 -32
  436. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_request.rb +0 -50
  437. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_response.rb +0 -61
  438. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_status.rb +0 -95
  439. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/result.rb +0 -132
  440. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup.rb +0 -20
  441. data/lib/bandwidth/utilities/date_time_helper.rb +0 -156
  442. data/lib/bandwidth/utilities/file_wrapper.rb +0 -16
  443. data/lib/bandwidth/voice_lib/bxml/bxml.rb +0 -36
  444. data/lib/bandwidth/voice_lib/bxml/response.rb +0 -39
  445. data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +0 -28
  446. data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +0 -32
  447. data/lib/bandwidth/voice_lib/bxml/verbs/forward.rb +0 -18
  448. data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +0 -49
  449. data/lib/bandwidth/voice_lib/bxml/verbs/hangup.rb +0 -14
  450. data/lib/bandwidth/voice_lib/bxml/verbs/pause.rb +0 -15
  451. data/lib/bandwidth/voice_lib/bxml/verbs/pause_recording.rb +0 -14
  452. data/lib/bandwidth/voice_lib/bxml/verbs/phone_number.rb +0 -24
  453. data/lib/bandwidth/voice_lib/bxml/verbs/play_audio.rb +0 -17
  454. data/lib/bandwidth/voice_lib/bxml/verbs/record.rb +0 -33
  455. data/lib/bandwidth/voice_lib/bxml/verbs/redirect.rb +0 -24
  456. data/lib/bandwidth/voice_lib/bxml/verbs/resume_recording.rb +0 -14
  457. data/lib/bandwidth/voice_lib/bxml/verbs/ring.rb +0 -16
  458. data/lib/bandwidth/voice_lib/bxml/verbs/send_dtmf.rb +0 -16
  459. data/lib/bandwidth/voice_lib/bxml/verbs/sip_uri.rb +0 -25
  460. data/lib/bandwidth/voice_lib/bxml/verbs/speak_sentence.rb +0 -18
  461. data/lib/bandwidth/voice_lib/bxml/verbs/start_gather.rb +0 -20
  462. data/lib/bandwidth/voice_lib/bxml/verbs/start_recording.rb +0 -25
  463. data/lib/bandwidth/voice_lib/bxml/verbs/start_stream.rb +0 -41
  464. data/lib/bandwidth/voice_lib/bxml/verbs/stop_gather.rb +0 -14
  465. data/lib/bandwidth/voice_lib/bxml/verbs/stop_recording.rb +0 -14
  466. data/lib/bandwidth/voice_lib/bxml/verbs/stop_stream.rb +0 -16
  467. data/lib/bandwidth/voice_lib/bxml/verbs/stream_param.rb +0 -17
  468. data/lib/bandwidth/voice_lib/bxml/verbs/tag.rb +0 -13
  469. data/lib/bandwidth/voice_lib/bxml/verbs/transfer.rb +0 -48
  470. data/lib/bandwidth/voice_lib/bxml/verbs/xml_verb.rb +0 -26
  471. data/lib/bandwidth/voice_lib/voice/client.rb +0 -60
  472. data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +0 -1820
  473. data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +0 -47
  474. data/lib/bandwidth/voice_lib/voice/exceptions/api_error_exception.rb +0 -42
  475. data/lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb +0 -17
  476. data/lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb +0 -17
  477. data/lib/bandwidth/voice_lib/voice/models/call_callback.rb +0 -343
  478. data/lib/bandwidth/voice_lib/voice/models/call_recording_metadata.rb +0 -250
  479. data/lib/bandwidth/voice_lib/voice/models/call_state.rb +0 -301
  480. data/lib/bandwidth/voice_lib/voice/models/callback_method_enum.rb +0 -17
  481. data/lib/bandwidth/voice_lib/voice/models/conference_callback.rb +0 -211
  482. data/lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb +0 -17
  483. data/lib/bandwidth/voice_lib/voice/models/conference_member_state.rb +0 -103
  484. data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata.rb +0 -173
  485. data/lib/bandwidth/voice_lib/voice/models/conference_state.rb +0 -153
  486. data/lib/bandwidth/voice_lib/voice/models/create_call_request.rb +0 -236
  487. data/lib/bandwidth/voice_lib/voice/models/create_call_response.rb +0 -266
  488. data/lib/bandwidth/voice_lib/voice/models/direction_enum.rb +0 -17
  489. data/lib/bandwidth/voice_lib/voice/models/disconnect_method_enum.rb +0 -17
  490. data/lib/bandwidth/voice_lib/voice/models/diversion.rb +0 -80
  491. data/lib/bandwidth/voice_lib/voice/models/fallback_method_enum.rb +0 -17
  492. data/lib/bandwidth/voice_lib/voice/models/file_format_enum.rb +0 -17
  493. data/lib/bandwidth/voice_lib/voice/models/machine_detection_configuration.rb +0 -231
  494. data/lib/bandwidth/voice_lib/voice/models/mode_enum.rb +0 -20
  495. data/lib/bandwidth/voice_lib/voice/models/modify_call_recording_request.rb +0 -48
  496. data/lib/bandwidth/voice_lib/voice/models/modify_call_request.rb +0 -156
  497. data/lib/bandwidth/voice_lib/voice/models/modify_conference_request.rb +0 -144
  498. data/lib/bandwidth/voice_lib/voice/models/redirect_fallback_method_enum.rb +0 -17
  499. data/lib/bandwidth/voice_lib/voice/models/redirect_method_enum.rb +0 -17
  500. data/lib/bandwidth/voice_lib/voice/models/state1_enum.rb +0 -20
  501. data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +0 -17
  502. data/lib/bandwidth/voice_lib/voice/models/status_enum.rb +0 -17
  503. data/lib/bandwidth/voice_lib/voice/models/transcribe_recording_request.rb +0 -108
  504. data/lib/bandwidth/voice_lib/voice/models/transcript.rb +0 -60
  505. data/lib/bandwidth/voice_lib/voice/models/transcription.rb +0 -80
  506. data/lib/bandwidth/voice_lib/voice/models/transcription_metadata.rb +0 -89
  507. data/lib/bandwidth/voice_lib/voice/models/transcription_response.rb +0 -59
  508. data/lib/bandwidth/voice_lib/voice.rb +0 -48
  509. data/lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb +0 -18
  510. data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +0 -60
  511. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +0 -703
  512. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +0 -47
  513. data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +0 -37
  514. data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +0 -62
  515. data/lib/bandwidth/web_rtc_lib/web_rtc/models/device_api_version_enum.rb +0 -17
  516. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +0 -115
  517. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +0 -48
  518. data/lib/bandwidth/web_rtc_lib/web_rtc/models/publish_permission_enum.rb +0 -17
  519. data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +0 -60
  520. data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +0 -71
  521. data/lib/bandwidth/web_rtc_lib/web_rtc.rb +0 -22
  522. data/lib/bandwidth.rb +0 -72
  523. data/test/controllers/controller_test_base.rb +0 -21
  524. data/test/http_response_catcher.rb +0 -19
  525. data/test/integration/test_integration.rb +0 -767
  526. data/test/test_helper.rb +0 -94
@@ -0,0 +1,455 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ # The Record Complete event is sent after a <Record> verb has executed if the call is still active. The BXML returned by this callback is executed next. When the recording is available for download, a Recording Available event will be sent.
18
+ class RecordingCompleteCallback
19
+ # The event type, value can be one of the following: answer, bridgeComplete, bridgeTargetComplete, conferenceCreated, conferenceRedirect, conferenceMemberJoin, conferenceMemberExit, conferenceCompleted, conferenceRecordingAvailable, disconnect, dtmf, gather, initiate, machineDetectionComplete, recordingComplete, recordingAvailable, redirect, transcriptionAvailable, transferAnswer, transferComplete, transferDisconnect.
20
+ attr_accessor :event_type
21
+
22
+ # The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.
23
+ attr_accessor :event_time
24
+
25
+ # The user account associated with the call.
26
+ attr_accessor :account_id
27
+
28
+ # The id of the application associated with the call.
29
+ attr_accessor :application_id
30
+
31
+ # The provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.
32
+ attr_accessor :from
33
+
34
+ # The phone number that received the call, in E.164 format (e.g. +15555555555).
35
+ attr_accessor :to
36
+
37
+ attr_accessor :direction
38
+
39
+ # The call id associated with the event.
40
+ attr_accessor :call_id
41
+
42
+ # The URL of the call associated with the event.
43
+ attr_accessor :call_url
44
+
45
+ # (optional) If the event is related to the B leg of a <Transfer>, the call id of the original call leg that executed the <Transfer>. Otherwise, this field will not be present.
46
+ attr_accessor :parent_call_id
47
+
48
+ # The unique ID of this recording
49
+ attr_accessor :recording_id
50
+
51
+ # The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded.
52
+ attr_accessor :media_url
53
+
54
+ # (optional) If call queueing is enabled and this is an outbound call, time the call was queued, in ISO 8601 format.
55
+ attr_accessor :enqueued_time
56
+
57
+ # Time the call was started, in ISO 8601 format.
58
+ attr_accessor :start_time
59
+
60
+ # Time the call was answered, in ISO 8601 format.
61
+ attr_accessor :answer_time
62
+
63
+ # The time that the recording ended in ISO-8601 format
64
+ attr_accessor :end_time
65
+
66
+ # The duration of the recording in ISO-8601 format
67
+ attr_accessor :duration
68
+
69
+ attr_accessor :file_format
70
+
71
+ # Always `1` for conference recordings; multi-channel recordings are not supported on conferences.
72
+ attr_accessor :channels
73
+
74
+ # (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.
75
+ attr_accessor :tag
76
+
77
+ # The phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.
78
+ attr_accessor :transfer_caller_id
79
+
80
+ # The phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).
81
+ attr_accessor :transfer_to
82
+
83
+ class EnumAttributeValidator
84
+ attr_reader :datatype
85
+ attr_reader :allowable_values
86
+
87
+ def initialize(datatype, allowable_values)
88
+ @allowable_values = allowable_values.map do |value|
89
+ case datatype.to_s
90
+ when /Integer/i
91
+ value.to_i
92
+ when /Float/i
93
+ value.to_f
94
+ else
95
+ value
96
+ end
97
+ end
98
+ end
99
+
100
+ def valid?(value)
101
+ !value || allowable_values.include?(value)
102
+ end
103
+ end
104
+
105
+ # Attribute mapping from ruby-style variable name to JSON key.
106
+ def self.attribute_map
107
+ {
108
+ :'event_type' => :'eventType',
109
+ :'event_time' => :'eventTime',
110
+ :'account_id' => :'accountId',
111
+ :'application_id' => :'applicationId',
112
+ :'from' => :'from',
113
+ :'to' => :'to',
114
+ :'direction' => :'direction',
115
+ :'call_id' => :'callId',
116
+ :'call_url' => :'callUrl',
117
+ :'parent_call_id' => :'parentCallId',
118
+ :'recording_id' => :'recordingId',
119
+ :'media_url' => :'mediaUrl',
120
+ :'enqueued_time' => :'enqueuedTime',
121
+ :'start_time' => :'startTime',
122
+ :'answer_time' => :'answerTime',
123
+ :'end_time' => :'endTime',
124
+ :'duration' => :'duration',
125
+ :'file_format' => :'fileFormat',
126
+ :'channels' => :'channels',
127
+ :'tag' => :'tag',
128
+ :'transfer_caller_id' => :'transferCallerId',
129
+ :'transfer_to' => :'transferTo'
130
+ }
131
+ end
132
+
133
+ # Returns all the JSON keys this model knows about
134
+ def self.acceptable_attributes
135
+ attribute_map.values
136
+ end
137
+
138
+ # Attribute type mapping.
139
+ def self.openapi_types
140
+ {
141
+ :'event_type' => :'String',
142
+ :'event_time' => :'String',
143
+ :'account_id' => :'String',
144
+ :'application_id' => :'String',
145
+ :'from' => :'String',
146
+ :'to' => :'String',
147
+ :'direction' => :'CallDirectionEnum',
148
+ :'call_id' => :'String',
149
+ :'call_url' => :'String',
150
+ :'parent_call_id' => :'String',
151
+ :'recording_id' => :'String',
152
+ :'media_url' => :'String',
153
+ :'enqueued_time' => :'Time',
154
+ :'start_time' => :'Time',
155
+ :'answer_time' => :'Time',
156
+ :'end_time' => :'Time',
157
+ :'duration' => :'String',
158
+ :'file_format' => :'FileFormatEnum',
159
+ :'channels' => :'Integer',
160
+ :'tag' => :'String',
161
+ :'transfer_caller_id' => :'String',
162
+ :'transfer_to' => :'String'
163
+ }
164
+ end
165
+
166
+ # List of attributes with nullable: true
167
+ def self.openapi_nullable
168
+ Set.new([
169
+ :'media_url',
170
+ :'enqueued_time',
171
+ :'answer_time',
172
+ :'tag',
173
+ ])
174
+ end
175
+
176
+ # Initializes the object
177
+ # @param [Hash] attributes Model attributes in the form of hash
178
+ def initialize(attributes = {})
179
+ if (!attributes.is_a?(Hash))
180
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Bandwidth::RecordingCompleteCallback` initialize method"
181
+ end
182
+
183
+ # check to see if the attribute exists and convert string to symbol for hash key
184
+ attributes = attributes.each_with_object({}) { |(k, v), h|
185
+ if (!self.class.attribute_map.key?(k.to_sym))
186
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Bandwidth::RecordingCompleteCallback`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
187
+ end
188
+ h[k.to_sym] = v
189
+ }
190
+
191
+ if attributes.key?(:'event_type')
192
+ self.event_type = attributes[:'event_type']
193
+ end
194
+
195
+ if attributes.key?(:'event_time')
196
+ self.event_time = attributes[:'event_time']
197
+ end
198
+
199
+ if attributes.key?(:'account_id')
200
+ self.account_id = attributes[:'account_id']
201
+ end
202
+
203
+ if attributes.key?(:'application_id')
204
+ self.application_id = attributes[:'application_id']
205
+ end
206
+
207
+ if attributes.key?(:'from')
208
+ self.from = attributes[:'from']
209
+ end
210
+
211
+ if attributes.key?(:'to')
212
+ self.to = attributes[:'to']
213
+ end
214
+
215
+ if attributes.key?(:'direction')
216
+ self.direction = attributes[:'direction']
217
+ end
218
+
219
+ if attributes.key?(:'call_id')
220
+ self.call_id = attributes[:'call_id']
221
+ end
222
+
223
+ if attributes.key?(:'call_url')
224
+ self.call_url = attributes[:'call_url']
225
+ end
226
+
227
+ if attributes.key?(:'parent_call_id')
228
+ self.parent_call_id = attributes[:'parent_call_id']
229
+ end
230
+
231
+ if attributes.key?(:'recording_id')
232
+ self.recording_id = attributes[:'recording_id']
233
+ end
234
+
235
+ if attributes.key?(:'media_url')
236
+ self.media_url = attributes[:'media_url']
237
+ end
238
+
239
+ if attributes.key?(:'enqueued_time')
240
+ self.enqueued_time = attributes[:'enqueued_time']
241
+ end
242
+
243
+ if attributes.key?(:'start_time')
244
+ self.start_time = attributes[:'start_time']
245
+ end
246
+
247
+ if attributes.key?(:'answer_time')
248
+ self.answer_time = attributes[:'answer_time']
249
+ end
250
+
251
+ if attributes.key?(:'end_time')
252
+ self.end_time = attributes[:'end_time']
253
+ end
254
+
255
+ if attributes.key?(:'duration')
256
+ self.duration = attributes[:'duration']
257
+ end
258
+
259
+ if attributes.key?(:'file_format')
260
+ self.file_format = attributes[:'file_format']
261
+ end
262
+
263
+ if attributes.key?(:'channels')
264
+ self.channels = attributes[:'channels']
265
+ end
266
+
267
+ if attributes.key?(:'tag')
268
+ self.tag = attributes[:'tag']
269
+ end
270
+
271
+ if attributes.key?(:'transfer_caller_id')
272
+ self.transfer_caller_id = attributes[:'transfer_caller_id']
273
+ end
274
+
275
+ if attributes.key?(:'transfer_to')
276
+ self.transfer_to = attributes[:'transfer_to']
277
+ end
278
+ end
279
+
280
+ # Show invalid properties with the reasons. Usually used together with valid?
281
+ # @return Array for valid properties with the reasons
282
+ def list_invalid_properties
283
+ invalid_properties = Array.new
284
+ invalid_properties
285
+ end
286
+
287
+ # Check to see if the all the properties in the model are valid
288
+ # @return true if the model is valid
289
+ def valid?
290
+ true
291
+ end
292
+
293
+ # Checks equality by comparing each attribute.
294
+ # @param [Object] Object to be compared
295
+ def ==(o)
296
+ return true if self.equal?(o)
297
+ self.class == o.class &&
298
+ event_type == o.event_type &&
299
+ event_time == o.event_time &&
300
+ account_id == o.account_id &&
301
+ application_id == o.application_id &&
302
+ from == o.from &&
303
+ to == o.to &&
304
+ direction == o.direction &&
305
+ call_id == o.call_id &&
306
+ call_url == o.call_url &&
307
+ parent_call_id == o.parent_call_id &&
308
+ recording_id == o.recording_id &&
309
+ media_url == o.media_url &&
310
+ enqueued_time == o.enqueued_time &&
311
+ start_time == o.start_time &&
312
+ answer_time == o.answer_time &&
313
+ end_time == o.end_time &&
314
+ duration == o.duration &&
315
+ file_format == o.file_format &&
316
+ channels == o.channels &&
317
+ tag == o.tag &&
318
+ transfer_caller_id == o.transfer_caller_id &&
319
+ transfer_to == o.transfer_to
320
+ end
321
+
322
+ # @see the `==` method
323
+ # @param [Object] Object to be compared
324
+ def eql?(o)
325
+ self == o
326
+ end
327
+
328
+ # Calculates hash code according to all attributes.
329
+ # @return [Integer] Hash code
330
+ def hash
331
+ [event_type, event_time, account_id, application_id, from, to, direction, call_id, call_url, parent_call_id, recording_id, media_url, enqueued_time, start_time, answer_time, end_time, duration, file_format, channels, tag, transfer_caller_id, transfer_to].hash
332
+ end
333
+
334
+ # Builds the object from hash
335
+ # @param [Hash] attributes Model attributes in the form of hash
336
+ # @return [Object] Returns the model itself
337
+ def self.build_from_hash(attributes)
338
+ new.build_from_hash(attributes)
339
+ end
340
+
341
+ # Builds the object from hash
342
+ # @param [Hash] attributes Model attributes in the form of hash
343
+ # @return [Object] Returns the model itself
344
+ def build_from_hash(attributes)
345
+ return nil unless attributes.is_a?(Hash)
346
+ attributes = attributes.transform_keys(&:to_sym)
347
+ self.class.openapi_types.each_pair do |key, type|
348
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
349
+ self.send("#{key}=", nil)
350
+ elsif type =~ /\AArray<(.*)>/i
351
+ # check to ensure the input is an array given that the attribute
352
+ # is documented as an array but the input is not
353
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
354
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
355
+ end
356
+ elsif !attributes[self.class.attribute_map[key]].nil?
357
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
358
+ end
359
+ end
360
+
361
+ self
362
+ end
363
+
364
+ # Deserializes the data based on type
365
+ # @param string type Data type
366
+ # @param string value Value to be deserialized
367
+ # @return [Object] Deserialized data
368
+ def _deserialize(type, value)
369
+ case type.to_sym
370
+ when :Time
371
+ Time.parse(value)
372
+ when :Date
373
+ Date.parse(value)
374
+ when :String
375
+ value.to_s
376
+ when :Integer
377
+ value.to_i
378
+ when :Float
379
+ value.to_f
380
+ when :Boolean
381
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
382
+ true
383
+ else
384
+ false
385
+ end
386
+ when :Object
387
+ # generic object (usually a Hash), return directly
388
+ value
389
+ when /\AArray<(?<inner_type>.+)>\z/
390
+ inner_type = Regexp.last_match[:inner_type]
391
+ value.map { |v| _deserialize(inner_type, v) }
392
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
393
+ k_type = Regexp.last_match[:k_type]
394
+ v_type = Regexp.last_match[:v_type]
395
+ {}.tap do |hash|
396
+ value.each do |k, v|
397
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
398
+ end
399
+ end
400
+ else # model
401
+ # models (e.g. Pet) or oneOf
402
+ klass = Bandwidth.const_get(type)
403
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
404
+ end
405
+ end
406
+
407
+ # Returns the string representation of the object
408
+ # @return [String] String presentation of the object
409
+ def to_s
410
+ to_hash.to_s
411
+ end
412
+
413
+ # to_body is an alias to to_hash (backward compatibility)
414
+ # @return [Hash] Returns the object in the form of hash
415
+ def to_body
416
+ to_hash
417
+ end
418
+
419
+ # Returns the object in the form of hash
420
+ # @return [Hash] Returns the object in the form of hash
421
+ def to_hash
422
+ hash = {}
423
+ self.class.attribute_map.each_pair do |attr, param|
424
+ value = self.send(attr)
425
+ if value.nil?
426
+ is_nullable = self.class.openapi_nullable.include?(attr)
427
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
428
+ end
429
+
430
+ hash[param] = _to_hash(value)
431
+ end
432
+ hash
433
+ end
434
+
435
+ # Outputs non-array value in the form of hash
436
+ # For object, use to_hash. Otherwise, just return the value
437
+ # @param [Object] value Any valid value
438
+ # @return [Hash] Returns the value in the form of hash
439
+ def _to_hash(value)
440
+ if value.is_a?(Array)
441
+ value.compact.map { |v| _to_hash(v) }
442
+ elsif value.is_a?(Hash)
443
+ {}.tap do |hash|
444
+ value.each { |k, v| hash[k] = _to_hash(v) }
445
+ end
446
+ elsif value.respond_to? :to_hash
447
+ value.to_hash
448
+ else
449
+ value
450
+ end
451
+ end
452
+
453
+ end
454
+
455
+ end
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #Bandwidth
3
+
4
+ #Bandwidth's Communication APIs
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: letstalk@bandwidth.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Bandwidth
17
+ class RecordingStateEnum
18
+ PAUSED = "paused".freeze
19
+ RECORDING = "recording".freeze
20
+
21
+ def self.all_vars
22
+ @all_vars ||= [PAUSED, RECORDING].freeze
23
+ end
24
+
25
+ # Builds the enum from string
26
+ # @param [String] The enum value in the form of the string
27
+ # @return [String] The enum value
28
+ def self.build_from_hash(value)
29
+ new.build_from_hash(value)
30
+ end
31
+
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def build_from_hash(value)
36
+ return value if RecordingStateEnum.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #RecordingStateEnum"
38
+ end
39
+ end
40
+ end