twilio-ruby 5.47.0 → 5.74.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (763) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/pr-lint.yml +21 -0
  3. data/.github/workflows/test-and-deploy.yml +129 -0
  4. data/.gitignore +5 -1
  5. data/.rubocop.yml +1 -1
  6. data/.rubocop_todo.yml +91 -28
  7. data/CHANGES.md +920 -0
  8. data/Gemfile +1 -0
  9. data/LICENSE +1 -1
  10. data/Makefile +12 -11
  11. data/PULL_REQUEST_TEMPLATE.md +1 -1
  12. data/README.md +16 -8
  13. data/examples/examples.rb +1 -1
  14. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  15. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  16. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  17. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  18. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  19. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  20. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  21. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  22. data/lib/twilio-ruby/http/http_client.rb +20 -4
  23. data/lib/twilio-ruby/http.rb +5 -0
  24. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +28 -28
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +10 -10
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -8
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +130 -11
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +67 -24
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +2 -2
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  50. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +34 -5
  51. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  52. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  53. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +35 -8
  55. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +5 -5
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +3 -3
  59. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  69. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  70. data/lib/twilio-ruby/rest/api.rb +1 -1
  71. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  72. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  73. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -9
  74. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +15 -7
  75. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +15 -9
  76. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
  77. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
  78. data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
  79. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  80. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  81. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  82. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  83. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  84. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  85. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  86. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  87. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  88. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  89. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  90. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  91. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  92. data/lib/twilio-ruby/rest/chat.rb +16 -0
  93. data/lib/twilio-ruby/rest/client.rb +57 -13
  94. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  95. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  96. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  97. data/lib/twilio-ruby/rest/content.rb +47 -0
  98. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  99. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  100. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
  101. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  102. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  103. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  104. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  105. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
  106. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  107. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
  108. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  109. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  110. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  111. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +44 -0
  112. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  113. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  114. data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
  115. data/lib/twilio-ruby/rest/conversations/v1.rb +49 -20
  116. data/lib/twilio-ruby/rest/conversations.rb +15 -0
  117. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  118. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +42 -42
  119. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  120. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  121. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  122. data/lib/twilio-ruby/rest/events/v1/sink.rb +45 -9
  123. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  124. data/lib/twilio-ruby/rest/events/v1/subscription.rb +14 -8
  125. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  126. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  127. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +42 -0
  128. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +55 -34
  129. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +190 -0
  130. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  131. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  132. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  133. data/lib/twilio-ruby/rest/{preview/trusted_comms/branded_channel.rb → flex_api/v1/interaction.rb} +76 -68
  134. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +166 -0
  135. data/lib/twilio-ruby/rest/flex_api/v1.rb +52 -12
  136. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  137. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  138. data/lib/twilio-ruby/rest/flex_api.rb +40 -0
  139. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  140. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  141. data/lib/twilio-ruby/rest/{fax.rb → frontline_api.rb} +11 -11
  142. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  143. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +14 -0
  144. data/lib/twilio-ruby/rest/insights/v1/call.rb +16 -8
  145. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
  146. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  147. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  148. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +23 -23
  149. data/lib/twilio-ruby/rest/insights/v1/room.rb +58 -46
  150. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  151. data/lib/twilio-ruby/rest/insights/v1.rb +41 -9
  152. data/lib/twilio-ruby/rest/insights.rb +21 -1
  153. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  154. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  155. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  156. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  157. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  158. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  159. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  160. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  161. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  162. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  163. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  164. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
  165. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  166. data/lib/twilio-ruby/rest/lookups.rb +7 -0
  167. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  168. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  169. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  170. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  171. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  172. data/lib/twilio-ruby/rest/media.rb +65 -0
  173. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  174. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +127 -2
  175. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  176. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  177. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  178. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +2 -2
  179. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  180. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  181. data/lib/twilio-ruby/rest/messaging/v1/service.rb +145 -27
  182. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +559 -0
  183. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  184. data/lib/twilio-ruby/rest/messaging/v1.rb +69 -25
  185. data/lib/twilio-ruby/rest/messaging.rb +35 -11
  186. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  187. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
  188. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  189. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  190. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  191. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  192. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  193. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  194. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  195. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +128 -26
  196. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
  197. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  198. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  199. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  200. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  201. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  202. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  203. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  204. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  205. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  206. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  207. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  208. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  209. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  210. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  211. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  212. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  213. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  214. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  215. data/lib/twilio-ruby/rest/preview.rb +0 -58
  216. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  217. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  218. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  219. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  220. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  221. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +2 -15
  222. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  223. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  224. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  225. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  226. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  227. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  228. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  229. data/lib/twilio-ruby/rest/routes.rb +62 -0
  230. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  231. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  232. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  233. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  234. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  235. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  236. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  237. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  238. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  239. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  240. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  241. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +101 -50
  242. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
  243. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  244. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  245. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  246. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +65 -0
  247. data/lib/twilio-ruby/rest/supersim/v1/{command.rb → sms_command.rb} +81 -78
  248. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +26 -12
  249. data/lib/twilio-ruby/rest/supersim/v1.rb +69 -25
  250. data/lib/twilio-ruby/rest/supersim.rb +30 -6
  251. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +9 -16
  252. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +23 -34
  253. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -15
  254. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +22 -35
  255. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -15
  256. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -15
  257. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  258. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  259. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  260. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  261. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +25 -8
  262. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +34 -10
  263. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +18 -14
  264. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  265. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  266. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
  267. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  268. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  269. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  270. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +32 -14
  271. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +17 -15
  272. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  273. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  274. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +17 -15
  275. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  276. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +45 -30
  277. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  278. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  279. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
  280. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  281. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  282. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  283. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  284. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  285. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  286. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  287. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  288. data/lib/twilio-ruby/rest/{messaging/v1/campaign.rb → trusthub/v1/supporting_document.rb} +125 -143
  289. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  290. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  291. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → trusthub/v1/trust_products/trust_products_entity_assignments.rb} +101 -85
  292. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  293. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  294. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  295. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  296. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  297. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +153 -16
  298. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  299. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +111 -28
  300. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +68 -68
  301. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  302. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -11
  303. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  304. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +25 -8
  305. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +8 -1
  306. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -13
  307. data/lib/twilio-ruby/rest/verify/v2/service.rb +99 -12
  308. data/lib/twilio-ruby/rest/{messaging/v1/use_case.rb → verify/v2/template.rb} +66 -51
  309. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  310. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  311. data/lib/twilio-ruby/rest/verify/v2.rb +58 -8
  312. data/lib/twilio-ruby/rest/verify.rb +29 -0
  313. data/lib/twilio-ruby/rest/video/v1/composition.rb +24 -11
  314. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  315. data/lib/twilio-ruby/rest/video/v1/recording.rb +23 -2
  316. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +9 -2
  317. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  318. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +16 -0
  319. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  320. data/lib/twilio-ruby/rest/video/v1/room.rb +66 -6
  321. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  322. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  323. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  324. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  325. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  326. data/lib/twilio-ruby/rest/voice/v1.rb +41 -16
  327. data/lib/twilio-ruby/rest/voice.rb +8 -0
  328. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +6 -6
  329. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  330. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +16 -26
  331. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  332. data/lib/twilio-ruby/rest.rb +13 -0
  333. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  334. data/lib/twilio-ruby/twiml/voice_response.rb +789 -108
  335. data/lib/twilio-ruby/version.rb +1 -1
  336. data/lib/twilio-ruby.rb +6 -16
  337. data/sonar-project.properties +13 -0
  338. data/twilio-ruby.gemspec +2 -3
  339. metadata +118 -868
  340. data/.travis.yml +0 -45
  341. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  342. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  343. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  344. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  345. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  346. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  347. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  348. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
  349. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  350. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  351. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  352. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  353. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
  354. data/spec/framework/request_spec.rb +0 -36
  355. data/spec/framework/serialize_spec.rb +0 -80
  356. data/spec/framework/version_spec.rb +0 -219
  357. data/spec/holodeck/holodeck.rb +0 -66
  358. data/spec/holodeck/hologram.rb +0 -4
  359. data/spec/http/http_client_spec.rb +0 -122
  360. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  361. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  362. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  363. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  364. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  365. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  366. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  367. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  368. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  369. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  370. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  371. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  372. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  373. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  374. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  375. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  376. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  377. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  378. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  379. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  380. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  381. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  382. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  383. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  384. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  385. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  386. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  387. data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
  388. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  389. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  390. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  391. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  392. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  393. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  394. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  395. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  396. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  397. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  398. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  399. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  400. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  401. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  402. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  403. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  404. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  405. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  406. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  407. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  408. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  409. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  410. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  411. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  412. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  413. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  414. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  415. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  416. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  417. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  418. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  419. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  420. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  421. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  422. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  423. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  424. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  425. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  426. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  427. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  428. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  429. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  430. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  431. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  432. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  433. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  434. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  435. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  436. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  437. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  438. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  439. data/spec/integration/api/v2010/account_spec.rb +0 -327
  440. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  441. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  442. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  443. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  444. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  445. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  446. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  447. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  448. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  449. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  450. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  451. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  452. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  453. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  454. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  455. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  456. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  457. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  458. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  459. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  460. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  461. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  462. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  463. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  464. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  465. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  466. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  467. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  468. data/spec/integration/chat/v1/service_spec.rb +0 -295
  469. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  470. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  471. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  472. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  473. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  474. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  475. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  476. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  477. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  478. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  479. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  480. data/spec/integration/chat/v2/service_spec.rb +0 -350
  481. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  482. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  483. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  484. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  485. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  486. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  487. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  488. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  489. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  490. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  491. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  492. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  493. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  494. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  495. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  496. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  497. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  498. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  499. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  500. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  501. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  502. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  503. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  504. data/spec/integration/events/v1/schema_spec.rb +0 -46
  505. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  506. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  507. data/spec/integration/events/v1/sink_spec.rb +0 -231
  508. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  509. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  510. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  511. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  512. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  513. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
  514. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  515. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  516. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  517. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  518. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  519. data/spec/integration/insights/v1/call_spec.rb +0 -46
  520. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  521. data/spec/integration/insights/v1/room_spec.rb +0 -164
  522. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  523. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  524. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  525. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  526. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  527. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  528. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  529. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  530. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  531. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  532. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  533. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  534. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  535. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  536. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  537. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  538. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  539. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  540. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  541. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  542. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  543. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  544. data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
  545. data/spec/integration/messaging/v1/campaign_spec.rb +0 -194
  546. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  547. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  548. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  549. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  550. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  551. data/spec/integration/messaging/v1/use_case_spec.rb +0 -55
  552. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  553. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  554. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  555. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  556. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  557. data/spec/integration/notify/v1/service_spec.rb +0 -289
  558. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  559. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  560. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  561. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  562. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  563. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  564. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  565. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  566. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  567. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  568. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  569. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  570. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  571. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  572. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  573. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  574. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  575. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  576. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  577. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  578. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  579. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  580. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  581. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  582. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  583. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  584. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  585. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  586. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  587. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  588. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  589. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  590. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  591. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  592. data/spec/integration/preview/sync/service_spec.rb +0 -241
  593. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  594. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  595. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  596. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  597. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  598. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  599. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  600. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  601. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  602. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  603. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  604. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  605. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  606. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  607. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  608. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  609. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  610. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  611. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  612. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  613. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  614. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  615. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  616. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  617. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  618. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  619. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  620. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  621. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  622. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  623. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  624. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  625. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  626. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  627. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  628. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  629. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  630. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  631. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  632. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  633. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  634. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  635. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  636. data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
  637. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  638. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  639. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  640. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  641. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  642. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  643. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  644. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  645. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  646. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  647. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  648. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  649. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  650. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  651. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  652. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  653. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  654. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  655. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  656. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  657. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  658. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  659. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  660. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  661. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  662. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  663. data/spec/integration/supersim/v1/fleet_spec.rb +0 -222
  664. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  665. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  666. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  667. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  668. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  669. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  670. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  671. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  672. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  673. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  674. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  675. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  676. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  677. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  678. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  679. data/spec/integration/sync/v1/service_spec.rb +0 -261
  680. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  681. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  682. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  683. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  684. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  685. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  686. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  687. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  688. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  689. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  690. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  691. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  692. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  693. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  694. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  695. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  696. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  697. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  698. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  699. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  700. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  701. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  702. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  703. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  704. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  705. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  706. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  707. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  708. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  709. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  710. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  711. data/spec/integration/verify/v2/form_spec.rb +0 -47
  712. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  713. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  714. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  715. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  716. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  717. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  718. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  719. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  720. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  721. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  722. data/spec/integration/verify/v2/service_spec.rb +0 -279
  723. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  724. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  725. data/spec/integration/video/v1/composition_spec.rb +0 -347
  726. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  727. data/spec/integration/video/v1/recording_spec.rb +0 -176
  728. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  729. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  730. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  731. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  732. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  733. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  734. data/spec/integration/video/v1/room_spec.rb +0 -301
  735. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  736. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  737. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  738. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  739. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  740. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  741. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  742. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  743. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  744. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  745. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  746. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  747. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  748. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  749. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  750. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  751. data/spec/jwt/access_token_spec.rb +0 -159
  752. data/spec/jwt/client_capability_spec.rb +0 -104
  753. data/spec/jwt/task_router_spec.rb +0 -172
  754. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  755. data/spec/rest/client_spec.rb +0 -255
  756. data/spec/security/request_validator_spec.rb +0 -125
  757. data/spec/spec_helper.rb +0 -38
  758. data/spec/support/fakeweb.rb +0 -2
  759. data/spec/twilio_spec.rb +0 -17
  760. data/spec/twiml/messaging_response_spec.rb +0 -235
  761. data/spec/twiml/voice_response_spec.rb +0 -847
  762. data/spec/util/configuration_spec.rb +0 -33
  763. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,442 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Conversations < Domain
12
+ class V1 < Version
13
+ class UserContext < InstanceContext
14
+ class UserConversationList < ListResource
15
+ ##
16
+ # Initialize the UserConversationList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] user_sid The unique string that identifies the {User
19
+ # resource}[https://www.twilio.com/docs/conversations/api/user-resource].
20
+ # @return [UserConversationList] UserConversationList
21
+ def initialize(version, user_sid: nil)
22
+ super(version)
23
+
24
+ # Path Solution
25
+ @solution = {user_sid: user_sid}
26
+ @uri = "/Users/#{@solution[:user_sid]}/Conversations"
27
+ end
28
+
29
+ ##
30
+ # Lists UserConversationInstance records from the API as a list.
31
+ # Unlike stream(), this operation is eager and will load `limit` records into
32
+ # memory before returning.
33
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
34
+ # guarantees to never return more than limit. Default is no limit
35
+ # @param [Integer] page_size Number of records to fetch per request, when
36
+ # not set will use the default value of 50 records. If no page_size is defined
37
+ # but a limit is defined, stream() will attempt to read the limit with the most
38
+ # efficient page size, i.e. min(limit, 1000)
39
+ # @return [Array] Array of up to limit results
40
+ def list(limit: nil, page_size: nil)
41
+ self.stream(limit: limit, page_size: page_size).entries
42
+ end
43
+
44
+ ##
45
+ # Streams UserConversationInstance records from the API as an Enumerable.
46
+ # This operation lazily loads records as efficiently as possible until the limit
47
+ # is reached.
48
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
49
+ # guarantees to never return more than limit. Default is no limit.
50
+ # @param [Integer] page_size Number of records to fetch per request, when
51
+ # not set will use the default value of 50 records. If no page_size is defined
52
+ # but a limit is defined, stream() will attempt to read the limit with the most
53
+ # efficient page size, i.e. min(limit, 1000)
54
+ # @return [Enumerable] Enumerable that will yield up to limit results
55
+ def stream(limit: nil, page_size: nil)
56
+ limits = @version.read_limits(limit, page_size)
57
+
58
+ page = self.page(page_size: limits[:page_size], )
59
+
60
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
61
+ end
62
+
63
+ ##
64
+ # When passed a block, yields UserConversationInstance records from the API.
65
+ # This operation lazily loads records as efficiently as possible until the limit
66
+ # is reached.
67
+ def each
68
+ limits = @version.read_limits
69
+
70
+ page = self.page(page_size: limits[:page_size], )
71
+
72
+ @version.stream(page,
73
+ limit: limits[:limit],
74
+ page_limit: limits[:page_limit]).each {|x| yield x}
75
+ end
76
+
77
+ ##
78
+ # Retrieve a single page of UserConversationInstance records from the API.
79
+ # Request is executed immediately.
80
+ # @param [String] page_token PageToken provided by the API
81
+ # @param [Integer] page_number Page Number, this value is simply for client state
82
+ # @param [Integer] page_size Number of records to return, defaults to 50
83
+ # @return [Page] Page of UserConversationInstance
84
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
85
+ params = Twilio::Values.of({
86
+ 'PageToken' => page_token,
87
+ 'Page' => page_number,
88
+ 'PageSize' => page_size,
89
+ })
90
+
91
+ response = @version.page('GET', @uri, params: params)
92
+
93
+ UserConversationPage.new(@version, response, @solution)
94
+ end
95
+
96
+ ##
97
+ # Retrieve a single page of UserConversationInstance records from the API.
98
+ # Request is executed immediately.
99
+ # @param [String] target_url API-generated URL for the requested results page
100
+ # @return [Page] Page of UserConversationInstance
101
+ def get_page(target_url)
102
+ response = @version.domain.request(
103
+ 'GET',
104
+ target_url
105
+ )
106
+ UserConversationPage.new(@version, response, @solution)
107
+ end
108
+
109
+ ##
110
+ # Provide a user friendly representation
111
+ def to_s
112
+ '#<Twilio.Conversations.V1.UserConversationList>'
113
+ end
114
+ end
115
+
116
+ class UserConversationPage < Page
117
+ ##
118
+ # Initialize the UserConversationPage
119
+ # @param [Version] version Version that contains the resource
120
+ # @param [Response] response Response from the API
121
+ # @param [Hash] solution Path solution for the resource
122
+ # @return [UserConversationPage] UserConversationPage
123
+ def initialize(version, response, solution)
124
+ super(version, response)
125
+
126
+ # Path Solution
127
+ @solution = solution
128
+ end
129
+
130
+ ##
131
+ # Build an instance of UserConversationInstance
132
+ # @param [Hash] payload Payload response from the API
133
+ # @return [UserConversationInstance] UserConversationInstance
134
+ def get_instance(payload)
135
+ UserConversationInstance.new(@version, payload, user_sid: @solution[:user_sid], )
136
+ end
137
+
138
+ ##
139
+ # Provide a user friendly representation
140
+ def to_s
141
+ '<Twilio.Conversations.V1.UserConversationPage>'
142
+ end
143
+ end
144
+
145
+ class UserConversationContext < InstanceContext
146
+ ##
147
+ # Initialize the UserConversationContext
148
+ # @param [Version] version Version that contains the resource
149
+ # @param [String] user_sid The unique SID identifier of the {User
150
+ # resource}[https://www.twilio.com/docs/conversations/api/user-resource]. This
151
+ # value can be either the `sid` or the `identity` of the User resource.
152
+ # @param [String] conversation_sid The unique SID identifier of the Conversation.
153
+ # This value can be either the `sid` or the `unique_name` of the {Conversation
154
+ # resource}[https://www.twilio.com/docs/conversations/api/conversation-resource].
155
+ # @return [UserConversationContext] UserConversationContext
156
+ def initialize(version, user_sid, conversation_sid)
157
+ super(version)
158
+
159
+ # Path Solution
160
+ @solution = {user_sid: user_sid, conversation_sid: conversation_sid, }
161
+ @uri = "/Users/#{@solution[:user_sid]}/Conversations/#{@solution[:conversation_sid]}"
162
+ end
163
+
164
+ ##
165
+ # Update the UserConversationInstance
166
+ # @param [user_conversation.NotificationLevel] notification_level The Notification
167
+ # Level of this User Conversation. One of `default` or `muted`.
168
+ # @param [Time] last_read_timestamp The date of the last message read in
169
+ # conversation by the user, given in ISO 8601 format.
170
+ # @param [String] last_read_message_index The index of the last Message in the
171
+ # Conversation that the Participant has read.
172
+ # @return [UserConversationInstance] Updated UserConversationInstance
173
+ def update(notification_level: :unset, last_read_timestamp: :unset, last_read_message_index: :unset)
174
+ data = Twilio::Values.of({
175
+ 'NotificationLevel' => notification_level,
176
+ 'LastReadTimestamp' => Twilio.serialize_iso8601_datetime(last_read_timestamp),
177
+ 'LastReadMessageIndex' => last_read_message_index,
178
+ })
179
+
180
+ payload = @version.update('POST', @uri, data: data)
181
+
182
+ UserConversationInstance.new(
183
+ @version,
184
+ payload,
185
+ user_sid: @solution[:user_sid],
186
+ conversation_sid: @solution[:conversation_sid],
187
+ )
188
+ end
189
+
190
+ ##
191
+ # Delete the UserConversationInstance
192
+ # @return [Boolean] true if delete succeeds, false otherwise
193
+ def delete
194
+ @version.delete('DELETE', @uri)
195
+ end
196
+
197
+ ##
198
+ # Fetch the UserConversationInstance
199
+ # @return [UserConversationInstance] Fetched UserConversationInstance
200
+ def fetch
201
+ payload = @version.fetch('GET', @uri)
202
+
203
+ UserConversationInstance.new(
204
+ @version,
205
+ payload,
206
+ user_sid: @solution[:user_sid],
207
+ conversation_sid: @solution[:conversation_sid],
208
+ )
209
+ end
210
+
211
+ ##
212
+ # Provide a user friendly representation
213
+ def to_s
214
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
215
+ "#<Twilio.Conversations.V1.UserConversationContext #{context}>"
216
+ end
217
+
218
+ ##
219
+ # Provide a detailed, user friendly representation
220
+ def inspect
221
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
222
+ "#<Twilio.Conversations.V1.UserConversationContext #{context}>"
223
+ end
224
+ end
225
+
226
+ class UserConversationInstance < InstanceResource
227
+ ##
228
+ # Initialize the UserConversationInstance
229
+ # @param [Version] version Version that contains the resource
230
+ # @param [Hash] payload payload that contains response from Twilio
231
+ # @param [String] user_sid The unique string that identifies the {User
232
+ # resource}[https://www.twilio.com/docs/conversations/api/user-resource].
233
+ # @param [String] conversation_sid The unique SID identifier of the Conversation.
234
+ # This value can be either the `sid` or the `unique_name` of the {Conversation
235
+ # resource}[https://www.twilio.com/docs/conversations/api/conversation-resource].
236
+ # @return [UserConversationInstance] UserConversationInstance
237
+ def initialize(version, payload, user_sid: nil, conversation_sid: nil)
238
+ super(version)
239
+
240
+ # Marshaled Properties
241
+ @properties = {
242
+ 'account_sid' => payload['account_sid'],
243
+ 'chat_service_sid' => payload['chat_service_sid'],
244
+ 'conversation_sid' => payload['conversation_sid'],
245
+ 'unread_messages_count' => payload['unread_messages_count'] == nil ? payload['unread_messages_count'] : payload['unread_messages_count'].to_i,
246
+ 'last_read_message_index' => payload['last_read_message_index'] == nil ? payload['last_read_message_index'] : payload['last_read_message_index'].to_i,
247
+ 'participant_sid' => payload['participant_sid'],
248
+ 'user_sid' => payload['user_sid'],
249
+ 'friendly_name' => payload['friendly_name'],
250
+ 'conversation_state' => payload['conversation_state'],
251
+ 'timers' => payload['timers'],
252
+ 'attributes' => payload['attributes'],
253
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
254
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
255
+ 'created_by' => payload['created_by'],
256
+ 'notification_level' => payload['notification_level'],
257
+ 'unique_name' => payload['unique_name'],
258
+ 'url' => payload['url'],
259
+ 'links' => payload['links'],
260
+ }
261
+
262
+ # Context
263
+ @instance_context = nil
264
+ @params = {
265
+ 'user_sid' => user_sid,
266
+ 'conversation_sid' => conversation_sid || @properties['conversation_sid'],
267
+ }
268
+ end
269
+
270
+ ##
271
+ # Generate an instance context for the instance, the context is capable of
272
+ # performing various actions. All instance actions are proxied to the context
273
+ # @return [UserConversationContext] UserConversationContext for this UserConversationInstance
274
+ def context
275
+ unless @instance_context
276
+ @instance_context = UserConversationContext.new(
277
+ @version,
278
+ @params['user_sid'],
279
+ @params['conversation_sid'],
280
+ )
281
+ end
282
+ @instance_context
283
+ end
284
+
285
+ ##
286
+ # @return [String] The unique ID of the Account responsible for this conversation.
287
+ def account_sid
288
+ @properties['account_sid']
289
+ end
290
+
291
+ ##
292
+ # @return [String] The unique ID of the Conversation Service this conversation belongs to.
293
+ def chat_service_sid
294
+ @properties['chat_service_sid']
295
+ end
296
+
297
+ ##
298
+ # @return [String] The unique ID of the Conversation for this User Conversation.
299
+ def conversation_sid
300
+ @properties['conversation_sid']
301
+ end
302
+
303
+ ##
304
+ # @return [String] The number of unread Messages in the Conversation.
305
+ def unread_messages_count
306
+ @properties['unread_messages_count']
307
+ end
308
+
309
+ ##
310
+ # @return [String] The index of the last read Message .
311
+ def last_read_message_index
312
+ @properties['last_read_message_index']
313
+ end
314
+
315
+ ##
316
+ # @return [String] Participant Sid.
317
+ def participant_sid
318
+ @properties['participant_sid']
319
+ end
320
+
321
+ ##
322
+ # @return [String] The unique ID for the User.
323
+ def user_sid
324
+ @properties['user_sid']
325
+ end
326
+
327
+ ##
328
+ # @return [String] The human-readable name of this conversation.
329
+ def friendly_name
330
+ @properties['friendly_name']
331
+ end
332
+
333
+ ##
334
+ # @return [user_conversation.State] The current state of this User Conversation
335
+ def conversation_state
336
+ @properties['conversation_state']
337
+ end
338
+
339
+ ##
340
+ # @return [Hash] Timer date values for this conversation.
341
+ def timers
342
+ @properties['timers']
343
+ end
344
+
345
+ ##
346
+ # @return [String] An optional string metadata field you can use to store any data you wish.
347
+ def attributes
348
+ @properties['attributes']
349
+ end
350
+
351
+ ##
352
+ # @return [Time] The date that this conversation was created.
353
+ def date_created
354
+ @properties['date_created']
355
+ end
356
+
357
+ ##
358
+ # @return [Time] The date that this conversation was last updated.
359
+ def date_updated
360
+ @properties['date_updated']
361
+ end
362
+
363
+ ##
364
+ # @return [String] Creator of this conversation.
365
+ def created_by
366
+ @properties['created_by']
367
+ end
368
+
369
+ ##
370
+ # @return [user_conversation.NotificationLevel] The Notification Level of this User Conversation.
371
+ def notification_level
372
+ @properties['notification_level']
373
+ end
374
+
375
+ ##
376
+ # @return [String] An application-defined string that uniquely identifies the Conversation resource.
377
+ def unique_name
378
+ @properties['unique_name']
379
+ end
380
+
381
+ ##
382
+ # @return [String] The url
383
+ def url
384
+ @properties['url']
385
+ end
386
+
387
+ ##
388
+ # @return [String] Absolute URLs to access the participant and conversation of this user conversation.
389
+ def links
390
+ @properties['links']
391
+ end
392
+
393
+ ##
394
+ # Update the UserConversationInstance
395
+ # @param [user_conversation.NotificationLevel] notification_level The Notification
396
+ # Level of this User Conversation. One of `default` or `muted`.
397
+ # @param [Time] last_read_timestamp The date of the last message read in
398
+ # conversation by the user, given in ISO 8601 format.
399
+ # @param [String] last_read_message_index The index of the last Message in the
400
+ # Conversation that the Participant has read.
401
+ # @return [UserConversationInstance] Updated UserConversationInstance
402
+ def update(notification_level: :unset, last_read_timestamp: :unset, last_read_message_index: :unset)
403
+ context.update(
404
+ notification_level: notification_level,
405
+ last_read_timestamp: last_read_timestamp,
406
+ last_read_message_index: last_read_message_index,
407
+ )
408
+ end
409
+
410
+ ##
411
+ # Delete the UserConversationInstance
412
+ # @return [Boolean] true if delete succeeds, false otherwise
413
+ def delete
414
+ context.delete
415
+ end
416
+
417
+ ##
418
+ # Fetch the UserConversationInstance
419
+ # @return [UserConversationInstance] Fetched UserConversationInstance
420
+ def fetch
421
+ context.fetch
422
+ end
423
+
424
+ ##
425
+ # Provide a user friendly representation
426
+ def to_s
427
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
428
+ "<Twilio.Conversations.V1.UserConversationInstance #{values}>"
429
+ end
430
+
431
+ ##
432
+ # Provide a detailed, user friendly representation
433
+ def inspect
434
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
435
+ "<Twilio.Conversations.V1.UserConversationInstance #{values}>"
436
+ end
437
+ end
438
+ end
439
+ end
440
+ end
441
+ end
442
+ end
@@ -182,6 +182,9 @@ module Twilio
182
182
  # Path Solution
183
183
  @solution = {sid: sid, }
184
184
  @uri = "/Users/#{@solution[:sid]}"
185
+
186
+ # Dependents
187
+ @user_conversations = nil
185
188
  end
186
189
 
187
190
  ##
@@ -229,6 +232,24 @@ module Twilio
229
232
  UserInstance.new(@version, payload, sid: @solution[:sid], )
230
233
  end
231
234
 
235
+ ##
236
+ # Access the user_conversations
237
+ # @return [UserConversationList]
238
+ # @return [UserConversationContext] if conversation_sid was passed.
239
+ def user_conversations(conversation_sid=:unset)
240
+ raise ArgumentError, 'conversation_sid cannot be nil' if conversation_sid.nil?
241
+
242
+ if conversation_sid != :unset
243
+ return UserConversationContext.new(@version, @solution[:sid], conversation_sid, )
244
+ end
245
+
246
+ unless @user_conversations
247
+ @user_conversations = UserConversationList.new(@version, user_sid: @solution[:sid], )
248
+ end
249
+
250
+ @user_conversations
251
+ end
252
+
232
253
  ##
233
254
  # Provide a user friendly representation
234
255
  def to_s
@@ -269,6 +290,7 @@ module Twilio
269
290
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
270
291
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
271
292
  'url' => payload['url'],
293
+ 'links' => payload['links'],
272
294
  }
273
295
 
274
296
  # Context
@@ -359,6 +381,12 @@ module Twilio
359
381
  @properties['url']
360
382
  end
361
383
 
384
+ ##
385
+ # @return [String] The links
386
+ def links
387
+ @properties['links']
388
+ end
389
+
362
390
  ##
363
391
  # Update the UserInstance
364
392
  # @param [String] friendly_name The string that you assigned to describe the
@@ -396,6 +424,13 @@ module Twilio
396
424
  context.fetch
397
425
  end
398
426
 
427
+ ##
428
+ # Access the user_conversations
429
+ # @return [user_conversations] user_conversations
430
+ def user_conversations
431
+ context.user_conversations
432
+ end
433
+
399
434
  ##
400
435
  # Provide a user friendly representation
401
436
  def to_s
@@ -16,8 +16,10 @@ module Twilio
16
16
  super
17
17
  @version = 'v1'
18
18
  @configuration = nil
19
+ @address_configurations = nil
19
20
  @conversations = nil
20
21
  @credentials = nil
22
+ @participant_conversations = nil
21
23
  @roles = nil
22
24
  @services = nil
23
25
  @users = nil
@@ -29,6 +31,22 @@ module Twilio
29
31
  @configuration ||= ConfigurationContext.new self
30
32
  end
31
33
 
34
+ ##
35
+ # @param [String] sid The SID of the Address Configuration resource. This value
36
+ # can be either the `sid` or the `address` of the configuration
37
+ # @return [Twilio::REST::Conversations::V1::AddressConfigurationContext] if sid was passed.
38
+ # @return [Twilio::REST::Conversations::V1::AddressConfigurationList]
39
+ def address_configurations(sid=:unset)
40
+ if sid.nil?
41
+ raise ArgumentError, 'sid cannot be nil'
42
+ end
43
+ if sid == :unset
44
+ @address_configurations ||= AddressConfigurationList.new self
45
+ else
46
+ AddressConfigurationContext.new(self, sid)
47
+ end
48
+ end
49
+
32
50
  ##
33
51
  # @param [String] sid A 34 character string that uniquely identifies this
34
52
  # resource. Can also be the `unique_name` of the Conversation.
@@ -36,11 +54,12 @@ module Twilio
36
54
  # @return [Twilio::REST::Conversations::V1::ConversationList]
37
55
  def conversations(sid=:unset)
38
56
  if sid.nil?
39
- raise ArgumentError, 'sid cannot be nil'
40
- elsif sid == :unset
41
- @conversations ||= ConversationList.new self
57
+ raise ArgumentError, 'sid cannot be nil'
58
+ end
59
+ if sid == :unset
60
+ @conversations ||= ConversationList.new self
42
61
  else
43
- ConversationContext.new(self, sid)
62
+ ConversationContext.new(self, sid)
44
63
  end
45
64
  end
46
65
 
@@ -51,25 +70,33 @@ module Twilio
51
70
  # @return [Twilio::REST::Conversations::V1::CredentialList]
52
71
  def credentials(sid=:unset)
53
72
  if sid.nil?
54
- raise ArgumentError, 'sid cannot be nil'
55
- elsif sid == :unset
56
- @credentials ||= CredentialList.new self
73
+ raise ArgumentError, 'sid cannot be nil'
74
+ end
75
+ if sid == :unset
76
+ @credentials ||= CredentialList.new self
57
77
  else
58
- CredentialContext.new(self, sid)
78
+ CredentialContext.new(self, sid)
59
79
  end
60
80
  end
61
81
 
82
+ ##
83
+ # @return [Twilio::REST::Conversations::V1::ParticipantConversationContext]
84
+ def participant_conversations
85
+ @participant_conversations ||= ParticipantConversationList.new self
86
+ end
87
+
62
88
  ##
63
89
  # @param [String] sid The SID of the Role resource to fetch.
64
90
  # @return [Twilio::REST::Conversations::V1::RoleContext] if sid was passed.
65
91
  # @return [Twilio::REST::Conversations::V1::RoleList]
66
92
  def roles(sid=:unset)
67
93
  if sid.nil?
68
- raise ArgumentError, 'sid cannot be nil'
69
- elsif sid == :unset
70
- @roles ||= RoleList.new self
94
+ raise ArgumentError, 'sid cannot be nil'
95
+ end
96
+ if sid == :unset
97
+ @roles ||= RoleList.new self
71
98
  else
72
- RoleContext.new(self, sid)
99
+ RoleContext.new(self, sid)
73
100
  end
74
101
  end
75
102
 
@@ -80,11 +107,12 @@ module Twilio
80
107
  # @return [Twilio::REST::Conversations::V1::ServiceList]
81
108
  def services(sid=:unset)
82
109
  if sid.nil?
83
- raise ArgumentError, 'sid cannot be nil'
84
- elsif sid == :unset
85
- @services ||= ServiceList.new self
110
+ raise ArgumentError, 'sid cannot be nil'
111
+ end
112
+ if sid == :unset
113
+ @services ||= ServiceList.new self
86
114
  else
87
- ServiceContext.new(self, sid)
115
+ ServiceContext.new(self, sid)
88
116
  end
89
117
  end
90
118
 
@@ -95,11 +123,12 @@ module Twilio
95
123
  # @return [Twilio::REST::Conversations::V1::UserList]
96
124
  def users(sid=:unset)
97
125
  if sid.nil?
98
- raise ArgumentError, 'sid cannot be nil'
99
- elsif sid == :unset
100
- @users ||= UserList.new self
126
+ raise ArgumentError, 'sid cannot be nil'
127
+ end
128
+ if sid == :unset
129
+ @users ||= UserList.new self
101
130
  else
102
- UserContext.new(self, sid)
131
+ UserContext.new(self, sid)
103
132
  end
104
133
  end
105
134
 
@@ -34,6 +34,15 @@ module Twilio
34
34
  self.v1.configuration()
35
35
  end
36
36
 
37
+ ##
38
+ # @param [String] sid A 34 character string that uniquely identifies this
39
+ # resource.
40
+ # @return [Twilio::REST::Conversations::V1::AddressConfigurationInstance] if sid was passed.
41
+ # @return [Twilio::REST::Conversations::V1::AddressConfigurationList]
42
+ def address_configurations(sid=:unset)
43
+ self.v1.address_configurations(sid)
44
+ end
45
+
37
46
  ##
38
47
  # @param [String] sid A 34 character string that uniquely identifies this
39
48
  # resource.
@@ -52,6 +61,12 @@ module Twilio
52
61
  self.v1.credentials(sid)
53
62
  end
54
63
 
64
+ ##
65
+ # @return [Twilio::REST::Conversations::V1::ParticipantConversationInstance]
66
+ def participant_conversations
67
+ self.v1.participant_conversations()
68
+ end
69
+
55
70
  ##
56
71
  # @param [String] sid The unique string that we created to identify the Role
57
72
  # resource.