twilio-ruby 5.45.0 → 5.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (691) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop_todo.yml +7 -7
  4. data/.travis.yml +41 -28
  5. data/CHANGES.md +456 -0
  6. data/Gemfile +1 -0
  7. data/LICENSE +1 -1
  8. data/README.md +29 -6
  9. data/examples/examples.rb +1 -1
  10. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  11. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  12. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  13. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  14. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  15. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  16. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  17. data/lib/twilio-ruby/http/http_client.rb +15 -3
  18. data/lib/twilio-ruby/http.rb +5 -0
  19. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  20. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +40 -40
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  24. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +8 -8
  25. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +667 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +57 -16
  27. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +23 -19
  28. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  30. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  31. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  32. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  34. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +7 -7
  35. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  36. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  37. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +6 -3
  38. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +1 -1
  39. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  40. data/lib/twilio-ruby/rest/api.rb +1 -1
  41. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  42. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +7 -12
  43. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +20 -10
  44. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +20 -12
  45. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -12
  46. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -11
  47. data/lib/twilio-ruby/rest/bulkexports/v1.rb +14 -10
  48. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  49. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +3 -3
  50. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  51. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +6 -6
  52. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +9 -9
  53. data/lib/twilio-ruby/rest/chat/v1/service.rb +5 -5
  54. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  55. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +7 -7
  56. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +3 -3
  57. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  58. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +27 -24
  59. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +6 -6
  60. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +9 -9
  61. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +10 -10
  62. data/lib/twilio-ruby/rest/chat/v2/service.rb +5 -5
  63. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  64. data/lib/twilio-ruby/rest/client.rb +22 -1
  65. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -9
  66. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
  67. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  68. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +9 -9
  69. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  70. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  71. data/lib/twilio-ruby/rest/conversations/v1/role.rb +9 -9
  72. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +7 -7
  73. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  74. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  75. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
  76. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  77. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +9 -9
  78. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  79. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  80. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +9 -9
  81. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  82. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +52 -1
  83. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  84. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  85. data/lib/twilio-ruby/rest/conversations/v1/user.rb +43 -1
  86. data/lib/twilio-ruby/rest/conversations/v1.rb +32 -20
  87. data/lib/twilio-ruby/rest/conversations.rb +6 -0
  88. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  89. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +41 -41
  90. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  91. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  92. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  93. data/lib/twilio-ruby/rest/events/v1/sink.rb +49 -11
  94. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  95. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  96. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  97. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  98. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  99. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +25 -4
  100. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +101 -83
  101. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  102. data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -13
  103. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  104. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  105. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  106. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  107. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +8 -9
  108. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  109. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  110. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  111. data/lib/twilio-ruby/rest/insights/v1.rb +18 -9
  112. data/lib/twilio-ruby/rest/insights.rb +7 -1
  113. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +3 -3
  114. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  115. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  116. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +4 -4
  117. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +3 -3
  118. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  119. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +7 -7
  120. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +3 -3
  121. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  122. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +6 -6
  123. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +3 -3
  124. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +4 -4
  125. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +4 -4
  126. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +3 -3
  127. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  128. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +16 -16
  129. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  130. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +384 -0
  131. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  132. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +390 -0
  133. data/lib/twilio-ruby/rest/media/v1.rb +60 -0
  134. data/lib/twilio-ruby/rest/media.rb +56 -0
  135. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +272 -0
  136. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +424 -0
  137. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  138. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  139. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  140. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  141. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  142. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  143. data/lib/twilio-ruby/rest/messaging/v1/service.rb +144 -26
  144. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  145. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -4
  146. data/lib/twilio-ruby/rest/messaging.rb +20 -0
  147. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  148. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +16 -15
  149. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +18 -18
  150. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  151. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +188 -0
  152. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  153. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  154. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +59 -14
  155. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  156. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  157. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +7 -4
  158. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +5 -3
  159. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +5 -3
  160. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +7 -4
  161. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +5 -3
  162. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +14 -10
  163. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  164. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  165. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +13 -13
  166. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +8 -8
  167. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  168. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  169. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  170. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  171. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  172. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  173. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  174. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  175. data/lib/twilio-ruby/rest/preview.rb +4 -2
  176. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +2 -2
  177. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  178. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +2 -2
  179. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  180. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  181. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +2 -2
  182. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  183. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  184. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  185. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  186. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  187. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +1 -1
  188. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  189. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -7
  190. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  191. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  192. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  193. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  194. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  195. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  196. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  197. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  198. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -9
  199. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +2 -10
  200. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  201. data/lib/twilio-ruby/rest/studio/v2/flow.rb +6 -14
  202. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  203. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  204. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  205. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +86 -13
  206. data/lib/twilio-ruby/rest/supersim/v1/network.rb +5 -5
  207. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +5 -5
  208. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +6 -6
  209. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  210. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +49 -4
  211. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  212. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  213. data/lib/twilio-ruby/rest/supersim/v1.rb +41 -20
  214. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  215. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  216. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +25 -52
  217. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +46 -76
  218. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  219. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +18 -40
  220. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +47 -79
  221. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -9
  222. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +18 -40
  223. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +1 -7
  224. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +14 -38
  225. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  226. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +17 -13
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +48 -24
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +17 -13
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +23 -11
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +37 -28
  237. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  238. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +20 -4
  239. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  240. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  241. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  242. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  243. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  244. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  245. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  246. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  247. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  248. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  249. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  250. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  251. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  252. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  253. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  254. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  255. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  256. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +91 -18
  257. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +47 -56
  258. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  259. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -3
  260. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +8 -6
  261. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +34 -15
  262. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  263. data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
  264. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  265. data/lib/twilio-ruby/rest/verify/v2.rb +33 -8
  266. data/lib/twilio-ruby/rest/verify.rb +15 -0
  267. data/lib/twilio-ruby/rest/video/v1/composition.rb +16 -23
  268. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +26 -34
  269. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  270. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  271. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +1 -7
  272. data/lib/twilio-ruby/rest/video/v1/room.rb +25 -4
  273. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  274. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  275. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  276. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +4 -4
  277. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  278. data/lib/twilio-ruby/rest.rb +13 -0
  279. data/lib/twilio-ruby/twiml/voice_response.rb +39 -8
  280. data/lib/twilio-ruby/version.rb +1 -1
  281. data/lib/twilio-ruby.rb +5 -15
  282. data/sonar-project.properties +13 -0
  283. data/twilio-ruby.gemspec +1 -1
  284. metadata +60 -826
  285. data/spec/framework/request_spec.rb +0 -36
  286. data/spec/framework/serialize_spec.rb +0 -80
  287. data/spec/framework/version_spec.rb +0 -219
  288. data/spec/holodeck/holodeck.rb +0 -66
  289. data/spec/holodeck/hologram.rb +0 -4
  290. data/spec/http/http_client_spec.rb +0 -122
  291. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  292. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  293. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  294. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  295. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  296. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  297. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  298. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  299. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  300. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  301. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  302. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  303. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  304. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  305. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  306. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  307. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  308. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  309. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  310. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  311. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  312. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  313. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  314. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  315. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  316. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  317. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  318. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  319. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  320. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  321. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  322. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  323. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  324. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  325. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  326. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  327. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  328. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  329. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  330. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  331. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  332. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  333. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  334. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  335. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  336. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  337. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  338. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  339. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  340. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  341. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  342. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  343. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  344. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  345. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  346. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  347. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  348. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  349. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  350. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  351. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  352. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  353. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  354. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  355. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  356. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  357. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  358. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  359. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  360. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  361. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  362. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  363. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  364. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  365. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  366. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  367. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  368. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  369. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  370. data/spec/integration/api/v2010/account_spec.rb +0 -327
  371. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  372. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  373. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  374. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  375. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  376. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  377. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  378. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  379. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  380. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  381. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  382. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  383. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  384. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  385. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  386. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  387. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  388. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  389. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  390. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  391. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  392. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  393. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  394. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  395. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  396. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  397. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  398. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  399. data/spec/integration/chat/v1/service_spec.rb +0 -295
  400. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  401. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  402. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  403. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  404. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  405. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  406. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  407. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  408. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  409. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  410. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  411. data/spec/integration/chat/v2/service_spec.rb +0 -350
  412. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  413. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  414. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  415. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  416. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -382
  417. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  418. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  419. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  420. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  421. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  422. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  423. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -87
  424. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  425. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  426. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -407
  427. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  428. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  429. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  430. data/spec/integration/conversations/v1/service/user_spec.rb +0 -236
  431. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  432. data/spec/integration/conversations/v1/user_spec.rb +0 -226
  433. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  434. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  435. data/spec/integration/events/v1/schema_spec.rb +0 -46
  436. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  437. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  438. data/spec/integration/events/v1/sink_spec.rb +0 -217
  439. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  440. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  441. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  442. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  443. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  444. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  445. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  446. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  447. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  448. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  449. data/spec/integration/insights/v1/call/summary_spec.rb +0 -63
  450. data/spec/integration/insights/v1/call_spec.rb +0 -46
  451. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  452. data/spec/integration/insights/v1/room_spec.rb +0 -164
  453. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  454. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  455. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  456. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  457. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  458. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  459. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  460. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  461. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  462. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  463. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  464. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  465. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  466. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  467. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  468. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  469. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  470. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  471. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  472. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  473. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  474. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  475. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  476. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  477. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  478. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  479. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  480. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  481. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  482. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  483. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  484. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  485. data/spec/integration/notify/v1/service_spec.rb +0 -289
  486. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  487. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  488. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  489. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  490. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  491. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  492. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  493. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  494. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  495. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  496. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  497. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  498. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  499. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  500. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  501. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  502. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  503. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  504. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  505. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  506. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  507. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  508. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  509. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  510. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  511. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  512. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  513. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  514. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  515. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  516. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  517. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  518. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  519. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  520. data/spec/integration/preview/sync/service_spec.rb +0 -241
  521. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  522. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  523. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  524. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  525. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  526. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  527. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  528. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  529. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  530. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  531. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  532. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  533. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  534. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  535. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  536. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  537. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  538. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  539. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  540. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  541. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  542. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  543. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  544. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  545. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  546. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  547. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  548. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  549. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  550. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  551. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  552. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  553. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  554. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  555. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  556. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  557. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  558. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  559. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  560. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  561. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  562. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  563. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  564. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  565. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  566. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  567. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  568. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  569. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  570. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  571. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  572. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  573. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  574. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  575. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  576. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  577. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  578. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  579. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  580. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  581. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  582. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  583. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  584. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  585. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  586. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  587. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  588. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  589. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  590. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  591. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  592. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  593. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  594. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  595. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  596. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  597. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  598. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  599. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  600. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  601. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  602. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  603. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  604. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  605. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  606. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  607. data/spec/integration/sync/v1/service_spec.rb +0 -261
  608. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  609. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  610. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  611. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  612. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  613. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  614. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  615. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  616. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  617. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  618. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  619. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  620. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  621. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  622. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  623. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  624. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  625. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  626. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  627. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  628. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  629. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  630. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  631. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  632. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  633. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  634. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  635. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  636. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  637. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  638. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  639. data/spec/integration/verify/v2/form_spec.rb +0 -47
  640. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  641. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  642. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  643. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  644. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  645. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  646. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  647. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  648. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  649. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  650. data/spec/integration/verify/v2/service_spec.rb +0 -279
  651. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  652. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  653. data/spec/integration/video/v1/composition_spec.rb +0 -347
  654. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  655. data/spec/integration/video/v1/recording_spec.rb +0 -176
  656. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  657. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  658. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  659. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  660. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  661. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  662. data/spec/integration/video/v1/room_spec.rb +0 -296
  663. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  664. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  665. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  666. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  667. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  668. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  669. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  670. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  671. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  672. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  673. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  674. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  675. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  676. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  677. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  678. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  679. data/spec/jwt/access_token_spec.rb +0 -159
  680. data/spec/jwt/client_capability_spec.rb +0 -104
  681. data/spec/jwt/task_router_spec.rb +0 -172
  682. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  683. data/spec/rest/client_spec.rb +0 -255
  684. data/spec/security/request_validator_spec.rb +0 -125
  685. data/spec/spec_helper.rb +0 -38
  686. data/spec/support/fakeweb.rb +0 -2
  687. data/spec/twilio_spec.rb +0 -17
  688. data/spec/twiml/messaging_response_spec.rb +0 -235
  689. data/spec/twiml/voice_response_spec.rb +0 -847
  690. data/spec/util/configuration_spec.rb +0 -33
  691. 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
@@ -265,9 +286,11 @@ module Twilio
265
286
  'friendly_name' => payload['friendly_name'],
266
287
  'attributes' => payload['attributes'],
267
288
  'is_online' => payload['is_online'],
289
+ 'is_notifiable' => payload['is_notifiable'],
268
290
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
269
291
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
270
292
  'url' => payload['url'],
293
+ 'links' => payload['links'],
271
294
  }
272
295
 
273
296
  # Context
@@ -329,11 +352,17 @@ module Twilio
329
352
  end
330
353
 
331
354
  ##
332
- # @return [Boolean] Whether the User is actively connected to the Service instance and online
355
+ # @return [Boolean] Whether the User is actively connected to this Conversations Service and online
333
356
  def is_online
334
357
  @properties['is_online']
335
358
  end
336
359
 
360
+ ##
361
+ # @return [Boolean] Whether the User has a potentially valid Push Notification registration for this Conversations Service
362
+ def is_notifiable
363
+ @properties['is_notifiable']
364
+ end
365
+
337
366
  ##
338
367
  # @return [Time] The ISO 8601 date and time in GMT when the resource was created
339
368
  def date_created
@@ -352,6 +381,12 @@ module Twilio
352
381
  @properties['url']
353
382
  end
354
383
 
384
+ ##
385
+ # @return [String] The links
386
+ def links
387
+ @properties['links']
388
+ end
389
+
355
390
  ##
356
391
  # Update the UserInstance
357
392
  # @param [String] friendly_name The string that you assigned to describe the
@@ -389,6 +424,13 @@ module Twilio
389
424
  context.fetch
390
425
  end
391
426
 
427
+ ##
428
+ # Access the user_conversations
429
+ # @return [user_conversations] user_conversations
430
+ def user_conversations
431
+ context.user_conversations
432
+ end
433
+
392
434
  ##
393
435
  # Provide a user friendly representation
394
436
  def to_s
@@ -18,6 +18,7 @@ module Twilio
18
18
  @configuration = nil
19
19
  @conversations = nil
20
20
  @credentials = nil
21
+ @participant_conversations = nil
21
22
  @roles = nil
22
23
  @services = nil
23
24
  @users = nil
@@ -36,11 +37,12 @@ module Twilio
36
37
  # @return [Twilio::REST::Conversations::V1::ConversationList]
37
38
  def conversations(sid=:unset)
38
39
  if sid.nil?
39
- raise ArgumentError, 'sid cannot be nil'
40
- elsif sid == :unset
41
- @conversations ||= ConversationList.new self
40
+ raise ArgumentError, 'sid cannot be nil'
41
+ end
42
+ if sid == :unset
43
+ @conversations ||= ConversationList.new self
42
44
  else
43
- ConversationContext.new(self, sid)
45
+ ConversationContext.new(self, sid)
44
46
  end
45
47
  end
46
48
 
@@ -51,25 +53,33 @@ module Twilio
51
53
  # @return [Twilio::REST::Conversations::V1::CredentialList]
52
54
  def credentials(sid=:unset)
53
55
  if sid.nil?
54
- raise ArgumentError, 'sid cannot be nil'
55
- elsif sid == :unset
56
- @credentials ||= CredentialList.new self
56
+ raise ArgumentError, 'sid cannot be nil'
57
+ end
58
+ if sid == :unset
59
+ @credentials ||= CredentialList.new self
57
60
  else
58
- CredentialContext.new(self, sid)
61
+ CredentialContext.new(self, sid)
59
62
  end
60
63
  end
61
64
 
65
+ ##
66
+ # @return [Twilio::REST::Conversations::V1::ParticipantConversationContext]
67
+ def participant_conversations
68
+ @participant_conversations ||= ParticipantConversationList.new self
69
+ end
70
+
62
71
  ##
63
72
  # @param [String] sid The SID of the Role resource to fetch.
64
73
  # @return [Twilio::REST::Conversations::V1::RoleContext] if sid was passed.
65
74
  # @return [Twilio::REST::Conversations::V1::RoleList]
66
75
  def roles(sid=:unset)
67
76
  if sid.nil?
68
- raise ArgumentError, 'sid cannot be nil'
69
- elsif sid == :unset
70
- @roles ||= RoleList.new self
77
+ raise ArgumentError, 'sid cannot be nil'
78
+ end
79
+ if sid == :unset
80
+ @roles ||= RoleList.new self
71
81
  else
72
- RoleContext.new(self, sid)
82
+ RoleContext.new(self, sid)
73
83
  end
74
84
  end
75
85
 
@@ -80,11 +90,12 @@ module Twilio
80
90
  # @return [Twilio::REST::Conversations::V1::ServiceList]
81
91
  def services(sid=:unset)
82
92
  if sid.nil?
83
- raise ArgumentError, 'sid cannot be nil'
84
- elsif sid == :unset
85
- @services ||= ServiceList.new self
93
+ raise ArgumentError, 'sid cannot be nil'
94
+ end
95
+ if sid == :unset
96
+ @services ||= ServiceList.new self
86
97
  else
87
- ServiceContext.new(self, sid)
98
+ ServiceContext.new(self, sid)
88
99
  end
89
100
  end
90
101
 
@@ -95,11 +106,12 @@ module Twilio
95
106
  # @return [Twilio::REST::Conversations::V1::UserList]
96
107
  def users(sid=:unset)
97
108
  if sid.nil?
98
- raise ArgumentError, 'sid cannot be nil'
99
- elsif sid == :unset
100
- @users ||= UserList.new self
109
+ raise ArgumentError, 'sid cannot be nil'
110
+ end
111
+ if sid == :unset
112
+ @users ||= UserList.new self
101
113
  else
102
- UserContext.new(self, sid)
114
+ UserContext.new(self, sid)
103
115
  end
104
116
  end
105
117
 
@@ -52,6 +52,12 @@ module Twilio
52
52
  self.v1.credentials(sid)
53
53
  end
54
54
 
55
+ ##
56
+ # @return [Twilio::REST::Conversations::V1::ParticipantConversationInstance]
57
+ def participant_conversations
58
+ self.v1.participant_conversations()
59
+ end
60
+
55
61
  ##
56
62
  # @param [String] sid The unique string that we created to identify the Role
57
63
  # resource.