twilio 3.71.2 → 3.73.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/CHANGES.md +91 -0
  2. package/README.md +1 -1
  3. package/lib/rest/Insights.d.ts +4 -0
  4. package/lib/rest/Insights.js +16 -0
  5. package/lib/rest/Supersim.d.ts +4 -0
  6. package/lib/rest/Supersim.js +17 -0
  7. package/lib/rest/Voice.d.ts +2 -0
  8. package/lib/rest/Voice.js +9 -0
  9. package/lib/rest/accounts/v1/credential/aws.js +2 -0
  10. package/lib/rest/accounts/v1/credential/publicKey.js +2 -0
  11. package/lib/rest/api/v2010/account/address/dependentPhoneNumber.js +2 -0
  12. package/lib/rest/api/v2010/account/address.js +2 -0
  13. package/lib/rest/api/v2010/account/application.js +2 -0
  14. package/lib/rest/api/v2010/account/authorizedConnectApp.js +2 -0
  15. package/lib/rest/api/v2010/account/availablePhoneNumber/local.js +2 -0
  16. package/lib/rest/api/v2010/account/availablePhoneNumber/machineToMachine.js +2 -0
  17. package/lib/rest/api/v2010/account/availablePhoneNumber/mobile.js +2 -0
  18. package/lib/rest/api/v2010/account/availablePhoneNumber/national.js +2 -0
  19. package/lib/rest/api/v2010/account/availablePhoneNumber/sharedCost.js +2 -0
  20. package/lib/rest/api/v2010/account/availablePhoneNumber/tollFree.js +2 -0
  21. package/lib/rest/api/v2010/account/availablePhoneNumber/voip.js +2 -0
  22. package/lib/rest/api/v2010/account/availablePhoneNumber.js +2 -0
  23. package/lib/rest/api/v2010/account/call/event.js +2 -0
  24. package/lib/rest/api/v2010/account/call/notification.js +2 -0
  25. package/lib/rest/api/v2010/account/call/recording.js +2 -0
  26. package/lib/rest/api/v2010/account/call.js +2 -0
  27. package/lib/rest/api/v2010/account/conference/participant.js +2 -0
  28. package/lib/rest/api/v2010/account/conference/recording.js +2 -0
  29. package/lib/rest/api/v2010/account/conference.js +2 -0
  30. package/lib/rest/api/v2010/account/connectApp.js +2 -0
  31. package/lib/rest/api/v2010/account/incomingPhoneNumber/assignedAddOn/assignedAddOnExtension.js +2 -0
  32. package/lib/rest/api/v2010/account/incomingPhoneNumber/assignedAddOn.js +2 -0
  33. package/lib/rest/api/v2010/account/incomingPhoneNumber/local.js +2 -0
  34. package/lib/rest/api/v2010/account/incomingPhoneNumber/mobile.js +2 -0
  35. package/lib/rest/api/v2010/account/incomingPhoneNumber/tollFree.js +2 -0
  36. package/lib/rest/api/v2010/account/incomingPhoneNumber.js +2 -0
  37. package/lib/rest/api/v2010/account/key.js +2 -0
  38. package/lib/rest/api/v2010/account/message/media.js +2 -0
  39. package/lib/rest/api/v2010/account/message.d.ts +9 -1
  40. package/lib/rest/api/v2010/account/message.js +17 -2
  41. package/lib/rest/api/v2010/account/notification.js +2 -0
  42. package/lib/rest/api/v2010/account/outgoingCallerId.js +2 -0
  43. package/lib/rest/api/v2010/account/queue/member.js +2 -0
  44. package/lib/rest/api/v2010/account/queue.js +2 -0
  45. package/lib/rest/api/v2010/account/recording/addOnResult/payload.js +2 -0
  46. package/lib/rest/api/v2010/account/recording/addOnResult.js +2 -0
  47. package/lib/rest/api/v2010/account/recording/transcription.js +2 -0
  48. package/lib/rest/api/v2010/account/recording.js +2 -0
  49. package/lib/rest/api/v2010/account/shortCode.js +2 -0
  50. package/lib/rest/api/v2010/account/signingKey.js +2 -0
  51. package/lib/rest/api/v2010/account/sip/credentialList/credential.js +2 -0
  52. package/lib/rest/api/v2010/account/sip/credentialList.js +2 -0
  53. package/lib/rest/api/v2010/account/sip/domain/authTypes/authCallsMapping/authCallsCredentialListMapping.js +2 -0
  54. package/lib/rest/api/v2010/account/sip/domain/authTypes/authCallsMapping/authCallsIpAccessControlListMapping.js +2 -0
  55. package/lib/rest/api/v2010/account/sip/domain/authTypes/authRegistrationsMapping/authRegistrationsCredentialListMapping.js +2 -0
  56. package/lib/rest/api/v2010/account/sip/domain/credentialListMapping.js +2 -0
  57. package/lib/rest/api/v2010/account/sip/domain/ipAccessControlListMapping.js +2 -0
  58. package/lib/rest/api/v2010/account/sip/domain.js +2 -0
  59. package/lib/rest/api/v2010/account/sip/ipAccessControlList/ipAddress.js +2 -0
  60. package/lib/rest/api/v2010/account/sip/ipAccessControlList.js +2 -0
  61. package/lib/rest/api/v2010/account/transcription.js +2 -0
  62. package/lib/rest/api/v2010/account/usage/record/allTime.js +2 -0
  63. package/lib/rest/api/v2010/account/usage/record/daily.js +2 -0
  64. package/lib/rest/api/v2010/account/usage/record/lastMonth.js +2 -0
  65. package/lib/rest/api/v2010/account/usage/record/monthly.js +2 -0
  66. package/lib/rest/api/v2010/account/usage/record/thisMonth.js +2 -0
  67. package/lib/rest/api/v2010/account/usage/record/today.js +2 -0
  68. package/lib/rest/api/v2010/account/usage/record/yearly.js +2 -0
  69. package/lib/rest/api/v2010/account/usage/record/yesterday.js +2 -0
  70. package/lib/rest/api/v2010/account/usage/record.js +2 -0
  71. package/lib/rest/api/v2010/account/usage/trigger.js +2 -0
  72. package/lib/rest/api/v2010/account.js +2 -0
  73. package/lib/rest/autopilot/v1/assistant/fieldType/fieldValue.js +2 -0
  74. package/lib/rest/autopilot/v1/assistant/fieldType.js +2 -0
  75. package/lib/rest/autopilot/v1/assistant/modelBuild.js +2 -0
  76. package/lib/rest/autopilot/v1/assistant/query.js +2 -0
  77. package/lib/rest/autopilot/v1/assistant/task/field.js +2 -0
  78. package/lib/rest/autopilot/v1/assistant/task/sample.js +2 -0
  79. package/lib/rest/autopilot/v1/assistant/task.js +2 -0
  80. package/lib/rest/autopilot/v1/assistant/webhook.js +2 -0
  81. package/lib/rest/autopilot/v1/assistant.js +2 -0
  82. package/lib/rest/bulkexports/v1/export/day.js +2 -0
  83. package/lib/rest/bulkexports/v1/export/exportCustomJob.js +2 -0
  84. package/lib/rest/chat/v1/credential.js +2 -0
  85. package/lib/rest/chat/v1/service/channel/invite.js +2 -0
  86. package/lib/rest/chat/v1/service/channel/member.js +2 -0
  87. package/lib/rest/chat/v1/service/channel/message.js +2 -0
  88. package/lib/rest/chat/v1/service/channel.js +2 -0
  89. package/lib/rest/chat/v1/service/role.js +2 -0
  90. package/lib/rest/chat/v1/service/user/userChannel.js +2 -0
  91. package/lib/rest/chat/v1/service/user.js +2 -0
  92. package/lib/rest/chat/v1/service.js +2 -0
  93. package/lib/rest/chat/v2/credential.js +2 -0
  94. package/lib/rest/chat/v2/service/binding.js +2 -0
  95. package/lib/rest/chat/v2/service/channel/invite.js +2 -0
  96. package/lib/rest/chat/v2/service/channel/member.js +2 -0
  97. package/lib/rest/chat/v2/service/channel/message.js +2 -0
  98. package/lib/rest/chat/v2/service/channel/webhook.js +2 -0
  99. package/lib/rest/chat/v2/service/channel.js +2 -0
  100. package/lib/rest/chat/v2/service/role.js +2 -0
  101. package/lib/rest/chat/v2/service/user/userBinding.js +2 -0
  102. package/lib/rest/chat/v2/service/user/userChannel.js +2 -0
  103. package/lib/rest/chat/v2/service/user.js +2 -0
  104. package/lib/rest/chat/v2/service.js +2 -0
  105. package/lib/rest/conversations/v1/conversation/message/deliveryReceipt.js +2 -0
  106. package/lib/rest/conversations/v1/conversation/message.js +2 -0
  107. package/lib/rest/conversations/v1/conversation/participant.js +2 -0
  108. package/lib/rest/conversations/v1/conversation/webhook.js +2 -0
  109. package/lib/rest/conversations/v1/conversation.js +2 -0
  110. package/lib/rest/conversations/v1/credential.js +2 -0
  111. package/lib/rest/conversations/v1/participantConversation.js +2 -0
  112. package/lib/rest/conversations/v1/role.js +2 -0
  113. package/lib/rest/conversations/v1/service/binding.js +2 -0
  114. package/lib/rest/conversations/v1/service/configuration/webhook.d.ts +172 -0
  115. package/lib/rest/conversations/v1/service/configuration/webhook.js +400 -0
  116. package/lib/rest/conversations/v1/service/configuration.d.ts +2 -0
  117. package/lib/rest/conversations/v1/service/configuration.js +13 -0
  118. package/lib/rest/conversations/v1/service/conversation/message/deliveryReceipt.js +2 -0
  119. package/lib/rest/conversations/v1/service/conversation/message.js +2 -0
  120. package/lib/rest/conversations/v1/service/conversation/participant.js +2 -0
  121. package/lib/rest/conversations/v1/service/conversation/webhook.js +2 -0
  122. package/lib/rest/conversations/v1/service/conversation.js +2 -0
  123. package/lib/rest/conversations/v1/service/participantConversation.js +2 -0
  124. package/lib/rest/conversations/v1/service/role.js +2 -0
  125. package/lib/rest/conversations/v1/service/user/userConversation.js +2 -0
  126. package/lib/rest/conversations/v1/service/user.js +2 -0
  127. package/lib/rest/conversations/v1/service.js +2 -0
  128. package/lib/rest/conversations/v1/user/userConversation.js +2 -0
  129. package/lib/rest/conversations/v1/user.js +2 -0
  130. package/lib/rest/events/v1/eventType.js +2 -0
  131. package/lib/rest/events/v1/schema/version.js +2 -0
  132. package/lib/rest/events/v1/sink.js +2 -0
  133. package/lib/rest/events/v1/subscription/subscribedEvent.js +2 -0
  134. package/lib/rest/events/v1/subscription.js +2 -0
  135. package/lib/rest/fax/v1/fax/faxMedia.js +2 -0
  136. package/lib/rest/fax/v1/fax.js +2 -0
  137. package/lib/rest/flexApi/v1/channel.js +2 -0
  138. package/lib/rest/flexApi/v1/configuration.d.ts +4 -0
  139. package/lib/rest/flexApi/v1/configuration.js +5 -0
  140. package/lib/rest/flexApi/v1/flexFlow.d.ts +2 -2
  141. package/lib/rest/flexApi/v1/flexFlow.js +5 -3
  142. package/lib/rest/flexApi/v1/webChannel.js +2 -0
  143. package/lib/rest/insights/V1.d.ts +6 -0
  144. package/lib/rest/insights/V1.js +22 -0
  145. package/lib/rest/insights/v1/call/event.js +2 -0
  146. package/lib/rest/insights/v1/call/metric.js +2 -0
  147. package/lib/rest/insights/v1/callSummaries.js +2 -0
  148. package/lib/rest/insights/v1/conference/conferenceParticipant.d.ts +385 -0
  149. package/lib/rest/insights/v1/conference/conferenceParticipant.js +663 -0
  150. package/lib/rest/insights/v1/conference.d.ts +387 -0
  151. package/lib/rest/insights/v1/conference.js +669 -0
  152. package/lib/rest/insights/v1/room/participant.js +2 -0
  153. package/lib/rest/insights/v1/room.js +2 -0
  154. package/lib/rest/insights/v1/setting.d.ts +181 -0
  155. package/lib/rest/insights/v1/setting.js +384 -0
  156. package/lib/rest/ipMessaging/v1/credential.js +2 -0
  157. package/lib/rest/ipMessaging/v1/service/channel/invite.js +2 -0
  158. package/lib/rest/ipMessaging/v1/service/channel/member.js +2 -0
  159. package/lib/rest/ipMessaging/v1/service/channel/message.js +2 -0
  160. package/lib/rest/ipMessaging/v1/service/channel.js +2 -0
  161. package/lib/rest/ipMessaging/v1/service/role.js +2 -0
  162. package/lib/rest/ipMessaging/v1/service/user/userChannel.js +2 -0
  163. package/lib/rest/ipMessaging/v1/service/user.js +2 -0
  164. package/lib/rest/ipMessaging/v1/service.js +2 -0
  165. package/lib/rest/ipMessaging/v2/credential.js +2 -0
  166. package/lib/rest/ipMessaging/v2/service/binding.js +2 -0
  167. package/lib/rest/ipMessaging/v2/service/channel/invite.js +2 -0
  168. package/lib/rest/ipMessaging/v2/service/channel/member.js +2 -0
  169. package/lib/rest/ipMessaging/v2/service/channel/message.js +2 -0
  170. package/lib/rest/ipMessaging/v2/service/channel/webhook.js +2 -0
  171. package/lib/rest/ipMessaging/v2/service/channel.js +2 -0
  172. package/lib/rest/ipMessaging/v2/service/role.js +2 -0
  173. package/lib/rest/ipMessaging/v2/service/user/userBinding.js +2 -0
  174. package/lib/rest/ipMessaging/v2/service/user/userChannel.js +2 -0
  175. package/lib/rest/ipMessaging/v2/service/user.js +2 -0
  176. package/lib/rest/ipMessaging/v2/service.js +2 -0
  177. package/lib/rest/media/v1/mediaProcessor.d.ts +4 -0
  178. package/lib/rest/media/v1/mediaProcessor.js +7 -1
  179. package/lib/rest/media/v1/playerStreamer.js +2 -0
  180. package/lib/rest/messaging/v1/brandRegistration/brandVetting.js +2 -0
  181. package/lib/rest/messaging/v1/brandRegistration.d.ts +14 -0
  182. package/lib/rest/messaging/v1/brandRegistration.js +51 -0
  183. package/lib/rest/messaging/v1/service/alphaSender.js +2 -0
  184. package/lib/rest/messaging/v1/service/phoneNumber.js +2 -0
  185. package/lib/rest/messaging/v1/service/shortCode.js +2 -0
  186. package/lib/rest/messaging/v1/service/usAppToPerson.js +2 -0
  187. package/lib/rest/messaging/v1/service.js +2 -0
  188. package/lib/rest/monitor/v1/alert.js +2 -0
  189. package/lib/rest/monitor/v1/event.js +2 -0
  190. package/lib/rest/notify/v1/credential.js +2 -0
  191. package/lib/rest/notify/v1/service/binding.js +2 -0
  192. package/lib/rest/notify/v1/service.js +2 -0
  193. package/lib/rest/numbers/v2/regulatoryCompliance/bundle/bundleCopy.d.ts +154 -1
  194. package/lib/rest/numbers/v2/regulatoryCompliance/bundle/bundleCopy.js +244 -0
  195. package/lib/rest/numbers/v2/regulatoryCompliance/bundle/evaluation.js +2 -0
  196. package/lib/rest/numbers/v2/regulatoryCompliance/bundle/itemAssignment.js +2 -0
  197. package/lib/rest/numbers/v2/regulatoryCompliance/bundle.js +2 -0
  198. package/lib/rest/numbers/v2/regulatoryCompliance/endUser.js +2 -0
  199. package/lib/rest/numbers/v2/regulatoryCompliance/endUserType.js +2 -0
  200. package/lib/rest/numbers/v2/regulatoryCompliance/regulation.js +2 -0
  201. package/lib/rest/numbers/v2/regulatoryCompliance/supportingDocument.js +2 -0
  202. package/lib/rest/numbers/v2/regulatoryCompliance/supportingDocumentType.js +2 -0
  203. package/lib/rest/preview/bulk_exports/export/day.js +2 -0
  204. package/lib/rest/preview/bulk_exports/export/exportCustomJob.js +2 -0
  205. package/lib/rest/preview/deployed_devices/fleet/certificate.js +2 -0
  206. package/lib/rest/preview/deployed_devices/fleet/deployment.js +2 -0
  207. package/lib/rest/preview/deployed_devices/fleet/device.js +2 -0
  208. package/lib/rest/preview/deployed_devices/fleet/key.js +2 -0
  209. package/lib/rest/preview/deployed_devices/fleet.js +2 -0
  210. package/lib/rest/preview/hosted_numbers/authorizationDocument/dependentHostedNumberOrder.js +2 -0
  211. package/lib/rest/preview/hosted_numbers/authorizationDocument.js +2 -0
  212. package/lib/rest/preview/hosted_numbers/hostedNumberOrder.js +2 -0
  213. package/lib/rest/preview/marketplace/availableAddOn/availableAddOnExtension.js +2 -0
  214. package/lib/rest/preview/marketplace/availableAddOn.js +2 -0
  215. package/lib/rest/preview/marketplace/installedAddOn/installedAddOnExtension.js +2 -0
  216. package/lib/rest/preview/marketplace/installedAddOn.js +2 -0
  217. package/lib/rest/preview/sync/service/document/documentPermission.js +2 -0
  218. package/lib/rest/preview/sync/service/document.js +2 -0
  219. package/lib/rest/preview/sync/service/syncList/syncListItem.js +2 -0
  220. package/lib/rest/preview/sync/service/syncList/syncListPermission.js +2 -0
  221. package/lib/rest/preview/sync/service/syncList.js +2 -0
  222. package/lib/rest/preview/sync/service/syncMap/syncMapItem.js +2 -0
  223. package/lib/rest/preview/sync/service/syncMap/syncMapPermission.js +2 -0
  224. package/lib/rest/preview/sync/service/syncMap.js +2 -0
  225. package/lib/rest/preview/sync/service.js +2 -0
  226. package/lib/rest/preview/understand/assistant/fieldType/fieldValue.js +2 -0
  227. package/lib/rest/preview/understand/assistant/fieldType.js +2 -0
  228. package/lib/rest/preview/understand/assistant/modelBuild.js +2 -0
  229. package/lib/rest/preview/understand/assistant/query.js +2 -0
  230. package/lib/rest/preview/understand/assistant/task/field.js +2 -0
  231. package/lib/rest/preview/understand/assistant/task/sample.js +2 -0
  232. package/lib/rest/preview/understand/assistant/task.js +2 -0
  233. package/lib/rest/preview/understand/assistant.js +2 -0
  234. package/lib/rest/preview/wireless/command.js +2 -0
  235. package/lib/rest/preview/wireless/ratePlan.js +2 -0
  236. package/lib/rest/preview/wireless/sim.js +2 -0
  237. package/lib/rest/pricing/v1/messaging/country.js +2 -0
  238. package/lib/rest/pricing/v1/phoneNumber/country.js +2 -0
  239. package/lib/rest/pricing/v1/voice/country.js +2 -0
  240. package/lib/rest/pricing/v2/country.js +2 -0
  241. package/lib/rest/pricing/v2/voice/country.js +2 -0
  242. package/lib/rest/proxy/v1/service/phoneNumber.js +2 -0
  243. package/lib/rest/proxy/v1/service/session/interaction.js +2 -0
  244. package/lib/rest/proxy/v1/service/session/participant/messageInteraction.js +2 -0
  245. package/lib/rest/proxy/v1/service/session/participant.js +2 -0
  246. package/lib/rest/proxy/v1/service/session.js +2 -0
  247. package/lib/rest/proxy/v1/service/shortCode.js +2 -0
  248. package/lib/rest/proxy/v1/service.js +2 -0
  249. package/lib/rest/serverless/v1/service/asset/assetVersion.js +2 -0
  250. package/lib/rest/serverless/v1/service/asset.js +2 -0
  251. package/lib/rest/serverless/v1/service/build.js +2 -0
  252. package/lib/rest/serverless/v1/service/environment/deployment.js +2 -0
  253. package/lib/rest/serverless/v1/service/environment/log.js +2 -0
  254. package/lib/rest/serverless/v1/service/environment/variable.js +2 -0
  255. package/lib/rest/serverless/v1/service/environment.js +2 -0
  256. package/lib/rest/serverless/v1/service/function/functionVersion.js +2 -0
  257. package/lib/rest/serverless/v1/service/function.js +2 -0
  258. package/lib/rest/serverless/v1/service.js +2 -0
  259. package/lib/rest/studio/v1/flow/engagement/step.js +2 -0
  260. package/lib/rest/studio/v1/flow/engagement.js +2 -0
  261. package/lib/rest/studio/v1/flow/execution/executionStep.js +2 -0
  262. package/lib/rest/studio/v1/flow/execution.js +2 -0
  263. package/lib/rest/studio/v1/flow.js +2 -0
  264. package/lib/rest/studio/v2/flow/execution/executionStep.js +2 -0
  265. package/lib/rest/studio/v2/flow/execution.js +2 -0
  266. package/lib/rest/studio/v2/flow/flowRevision.js +2 -0
  267. package/lib/rest/studio/v2/flow.js +2 -0
  268. package/lib/rest/supersim/V1.d.ts +6 -0
  269. package/lib/rest/supersim/V1.js +23 -0
  270. package/lib/rest/supersim/v1/command.js +2 -0
  271. package/lib/rest/supersim/v1/esimProfile.d.ts +344 -0
  272. package/lib/rest/supersim/v1/esimProfile.js +664 -0
  273. package/lib/rest/supersim/v1/fleet.js +2 -0
  274. package/lib/rest/supersim/v1/ipCommand.d.ts +362 -0
  275. package/lib/rest/supersim/v1/ipCommand.js +681 -0
  276. package/lib/rest/supersim/v1/network.js +2 -0
  277. package/lib/rest/supersim/v1/networkAccessProfile/networkAccessProfileNetwork.js +2 -0
  278. package/lib/rest/supersim/v1/networkAccessProfile.js +2 -0
  279. package/lib/rest/supersim/v1/sim/billingPeriod.js +2 -0
  280. package/lib/rest/supersim/v1/sim.js +2 -0
  281. package/lib/rest/supersim/v1/smsCommand.js +2 -0
  282. package/lib/rest/supersim/v1/usageRecord.js +2 -0
  283. package/lib/rest/sync/v1/service/document/documentPermission.js +2 -0
  284. package/lib/rest/sync/v1/service/document.js +2 -0
  285. package/lib/rest/sync/v1/service/syncList/syncListItem.js +2 -0
  286. package/lib/rest/sync/v1/service/syncList/syncListPermission.js +2 -0
  287. package/lib/rest/sync/v1/service/syncList.js +2 -0
  288. package/lib/rest/sync/v1/service/syncMap/syncMapItem.js +2 -0
  289. package/lib/rest/sync/v1/service/syncMap/syncMapPermission.js +2 -0
  290. package/lib/rest/sync/v1/service/syncMap.js +2 -0
  291. package/lib/rest/sync/v1/service/syncStream.js +2 -0
  292. package/lib/rest/sync/v1/service.js +2 -0
  293. package/lib/rest/taskrouter/v1/workspace/activity.js +2 -0
  294. package/lib/rest/taskrouter/v1/workspace/event.js +2 -0
  295. package/lib/rest/taskrouter/v1/workspace/task/reservation.js +2 -0
  296. package/lib/rest/taskrouter/v1/workspace/task.js +2 -0
  297. package/lib/rest/taskrouter/v1/workspace/taskChannel.js +2 -0
  298. package/lib/rest/taskrouter/v1/workspace/taskQueue/taskQueuesStatistics.js +2 -0
  299. package/lib/rest/taskrouter/v1/workspace/taskQueue.js +2 -0
  300. package/lib/rest/taskrouter/v1/workspace/worker/reservation.js +2 -0
  301. package/lib/rest/taskrouter/v1/workspace/worker/workerChannel.js +2 -0
  302. package/lib/rest/taskrouter/v1/workspace/worker.js +2 -0
  303. package/lib/rest/taskrouter/v1/workspace/workflow.js +2 -0
  304. package/lib/rest/taskrouter/v1/workspace.js +2 -0
  305. package/lib/rest/trunking/v1/trunk/credentialList.js +2 -0
  306. package/lib/rest/trunking/v1/trunk/ipAccessControlList.js +2 -0
  307. package/lib/rest/trunking/v1/trunk/originationUrl.js +2 -0
  308. package/lib/rest/trunking/v1/trunk/phoneNumber.js +2 -0
  309. package/lib/rest/trunking/v1/trunk.js +2 -0
  310. package/lib/rest/trusthub/v1/customerProfiles/customerProfilesChannelEndpointAssignment.js +2 -0
  311. package/lib/rest/trusthub/v1/customerProfiles/customerProfilesEntityAssignments.js +2 -0
  312. package/lib/rest/trusthub/v1/customerProfiles/customerProfilesEvaluations.js +2 -0
  313. package/lib/rest/trusthub/v1/customerProfiles.js +2 -0
  314. package/lib/rest/trusthub/v1/endUser.js +2 -0
  315. package/lib/rest/trusthub/v1/endUserType.js +2 -0
  316. package/lib/rest/trusthub/v1/policies.js +2 -0
  317. package/lib/rest/trusthub/v1/supportingDocument.js +2 -0
  318. package/lib/rest/trusthub/v1/supportingDocumentType.js +2 -0
  319. package/lib/rest/trusthub/v1/trustProducts/trustProductsChannelEndpointAssignment.js +2 -0
  320. package/lib/rest/trusthub/v1/trustProducts/trustProductsEntityAssignments.js +2 -0
  321. package/lib/rest/trusthub/v1/trustProducts/trustProductsEvaluations.js +2 -0
  322. package/lib/rest/trusthub/v1/trustProducts.js +2 -0
  323. package/lib/rest/verify/v2/service/accessToken.d.ts +64 -4
  324. package/lib/rest/verify/v2/service/accessToken.js +158 -8
  325. package/lib/rest/verify/v2/service/entity/challenge.js +2 -0
  326. package/lib/rest/verify/v2/service/entity/factor.js +2 -0
  327. package/lib/rest/verify/v2/service/entity.js +2 -0
  328. package/lib/rest/verify/v2/service/messagingConfiguration.js +2 -0
  329. package/lib/rest/verify/v2/service/rateLimit/bucket.js +2 -0
  330. package/lib/rest/verify/v2/service/rateLimit.js +2 -0
  331. package/lib/rest/verify/v2/service/webhook.js +2 -0
  332. package/lib/rest/verify/v2/service.js +2 -0
  333. package/lib/rest/verify/v2/template.js +2 -0
  334. package/lib/rest/verify/v2/verificationAttempt.js +2 -0
  335. package/lib/rest/video/v1/composition.d.ts +2 -0
  336. package/lib/rest/video/v1/composition.js +5 -0
  337. package/lib/rest/video/v1/compositionHook.js +2 -0
  338. package/lib/rest/video/v1/recording.d.ts +2 -0
  339. package/lib/rest/video/v1/recording.js +5 -0
  340. package/lib/rest/video/v1/room/recording.d.ts +2 -0
  341. package/lib/rest/video/v1/room/recording.js +5 -0
  342. package/lib/rest/video/v1/room/roomParticipant/roomParticipantPublishedTrack.js +2 -0
  343. package/lib/rest/video/v1/room/roomParticipant/roomParticipantSubscribedTrack.js +2 -0
  344. package/lib/rest/video/v1/room/roomParticipant.js +2 -0
  345. package/lib/rest/video/v1/room.d.ts +12 -0
  346. package/lib/rest/video/v1/room.js +21 -1
  347. package/lib/rest/voice/V1.d.ts +3 -0
  348. package/lib/rest/voice/V1.js +12 -0
  349. package/lib/rest/voice/v1/archivedCall.d.ts +136 -0
  350. package/lib/rest/voice/v1/archivedCall.js +325 -0
  351. package/lib/rest/voice/v1/byocTrunk.js +2 -0
  352. package/lib/rest/voice/v1/connectionPolicy/connectionPolicyTarget.js +2 -0
  353. package/lib/rest/voice/v1/connectionPolicy.js +2 -0
  354. package/lib/rest/voice/v1/dialingPermissions/country/highriskSpecialPrefix.js +2 -0
  355. package/lib/rest/voice/v1/dialingPermissions/country.js +2 -0
  356. package/lib/rest/voice/v1/ipRecord.js +2 -0
  357. package/lib/rest/voice/v1/sourceIpMapping.js +2 -0
  358. package/lib/rest/wireless/v1/command.js +2 -0
  359. package/lib/rest/wireless/v1/ratePlan.js +2 -0
  360. package/lib/rest/wireless/v1/sim/dataSession.js +2 -0
  361. package/lib/rest/wireless/v1/sim/usageRecord.js +2 -0
  362. package/lib/rest/wireless/v1/sim.js +6 -8
  363. package/lib/rest/wireless/v1/usageRecord.js +2 -0
  364. package/package.json +2 -2
@@ -0,0 +1,663 @@
1
+ 'use strict';
2
+
3
+ /* jshint ignore:start */
4
+ /**
5
+ * This code was generated by
6
+ * \ / _ _ _| _ _
7
+ * | (_)\/(_)(_|\/| |(/_ v1.0.0
8
+ * / /
9
+ */
10
+ /* jshint ignore:end */
11
+
12
+ var Q = require('q'); /* jshint ignore:line */
13
+ var _ = require('lodash'); /* jshint ignore:line */
14
+ var util = require('util'); /* jshint ignore:line */
15
+ var Page = require('../../../../base/Page'); /* jshint ignore:line */
16
+ var deserialize = require(
17
+ '../../../../base/deserialize'); /* jshint ignore:line */
18
+ var values = require('../../../../base/values'); /* jshint ignore:line */
19
+
20
+ var ConferenceParticipantList;
21
+ var ConferenceParticipantPage;
22
+ var ConferenceParticipantInstance;
23
+ var ConferenceParticipantContext;
24
+
25
+ /* jshint ignore:start */
26
+ /**
27
+ * Initialize the ConferenceParticipantList
28
+ *
29
+ * @constructor Twilio.Insights.V1.ConferenceContext.ConferenceParticipantList
30
+ *
31
+ * @param {Twilio.Insights.V1} version - Version of the resource
32
+ * @param {string} conferenceSid - The conference_sid
33
+ */
34
+ /* jshint ignore:end */
35
+ ConferenceParticipantList = function ConferenceParticipantList(version,
36
+ conferenceSid) {
37
+ /* jshint ignore:start */
38
+ /**
39
+ * @function conferenceParticipants
40
+ * @memberof Twilio.Insights.V1.ConferenceContext#
41
+ *
42
+ * @param {string} sid - sid of instance
43
+ *
44
+ * @returns {Twilio.Insights.V1.ConferenceContext.ConferenceParticipantContext}
45
+ */
46
+ /* jshint ignore:end */
47
+ function ConferenceParticipantListInstance(sid) {
48
+ return ConferenceParticipantListInstance.get(sid);
49
+ }
50
+
51
+ ConferenceParticipantListInstance._version = version;
52
+ // Path Solution
53
+ ConferenceParticipantListInstance._solution = {conferenceSid: conferenceSid};
54
+ ConferenceParticipantListInstance._uri = `/Conferences/${conferenceSid}/Participants`;
55
+ /* jshint ignore:start */
56
+ /**
57
+ * Streams ConferenceParticipantInstance records from the API.
58
+ *
59
+ * This operation lazily loads records as efficiently as possible until the limit
60
+ * is reached.
61
+ *
62
+ * The results are passed into the callback function, so this operation is memory
63
+ * efficient.
64
+ *
65
+ * If a function is passed as the first argument, it will be used as the callback
66
+ * function.
67
+ *
68
+ * @function each
69
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantList#
70
+ *
71
+ * @param {object} [opts] - Options for request
72
+ * @param {string} [opts.participantSid] - The participant_sid
73
+ * @param {string} [opts.label] - The label
74
+ * @param {string} [opts.events] - The events
75
+ * @param {number} [opts.limit] -
76
+ * Upper limit for the number of records to return.
77
+ * each() guarantees never to return more than limit.
78
+ * Default is no limit
79
+ * @param {number} [opts.pageSize] -
80
+ * Number of records to fetch per request,
81
+ * when not set will use the default value of 50 records.
82
+ * If no pageSize is defined but a limit is defined,
83
+ * each() will attempt to read the limit with the most efficient
84
+ * page size, i.e. min(limit, 1000)
85
+ * @param {Function} [opts.callback] -
86
+ * Function to process each record. If this and a positional
87
+ * callback are passed, this one will be used
88
+ * @param {Function} [opts.done] -
89
+ * Function to be called upon completion of streaming
90
+ * @param {Function} [callback] - Function to process each record
91
+ */
92
+ /* jshint ignore:end */
93
+ ConferenceParticipantListInstance.each = function each(opts, callback) {
94
+ if (_.isFunction(opts)) {
95
+ callback = opts;
96
+ opts = {};
97
+ }
98
+ opts = opts || {};
99
+ if (opts.callback) {
100
+ callback = opts.callback;
101
+ }
102
+ if (_.isUndefined(callback)) {
103
+ throw new Error('Callback function must be provided');
104
+ }
105
+
106
+ var done = false;
107
+ var currentPage = 1;
108
+ var currentResource = 0;
109
+ var limits = this._version.readLimits({
110
+ limit: opts.limit,
111
+ pageSize: opts.pageSize
112
+ });
113
+
114
+ function onComplete(error) {
115
+ done = true;
116
+ if (_.isFunction(opts.done)) {
117
+ opts.done(error);
118
+ }
119
+ }
120
+
121
+ function fetchNextPage(fn) {
122
+ var promise = fn();
123
+ if (_.isUndefined(promise)) {
124
+ onComplete();
125
+ return;
126
+ }
127
+
128
+ promise.then(function(page) {
129
+ _.each(page.instances, function(instance) {
130
+ if (done || (!_.isUndefined(opts.limit) && currentResource >= opts.limit)) {
131
+ done = true;
132
+ return false;
133
+ }
134
+
135
+ currentResource++;
136
+ callback(instance, onComplete);
137
+ });
138
+
139
+ if (!done) {
140
+ currentPage++;
141
+ fetchNextPage(_.bind(page.nextPage, page));
142
+ } else {
143
+ onComplete();
144
+ }
145
+ });
146
+
147
+ promise.catch(onComplete);
148
+ }
149
+
150
+ fetchNextPage(_.bind(this.page, this, _.merge(opts, limits)));
151
+ };
152
+
153
+ /* jshint ignore:start */
154
+ /**
155
+ * Lists ConferenceParticipantInstance records from the API as a list.
156
+ *
157
+ * If a function is passed as the first argument, it will be used as the callback
158
+ * function.
159
+ *
160
+ * @function list
161
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantList#
162
+ *
163
+ * @param {object} [opts] - Options for request
164
+ * @param {string} [opts.participantSid] - The participant_sid
165
+ * @param {string} [opts.label] - The label
166
+ * @param {string} [opts.events] - The events
167
+ * @param {number} [opts.limit] -
168
+ * Upper limit for the number of records to return.
169
+ * list() guarantees never to return more than limit.
170
+ * Default is no limit
171
+ * @param {number} [opts.pageSize] -
172
+ * Number of records to fetch per request,
173
+ * when not set will use the default value of 50 records.
174
+ * If no page_size is defined but a limit is defined,
175
+ * list() will attempt to read the limit with the most
176
+ * efficient page size, i.e. min(limit, 1000)
177
+ * @param {function} [callback] - Callback to handle list of records
178
+ *
179
+ * @returns {Promise} Resolves to a list of records
180
+ */
181
+ /* jshint ignore:end */
182
+ ConferenceParticipantListInstance.list = function list(opts, callback) {
183
+ if (_.isFunction(opts)) {
184
+ callback = opts;
185
+ opts = {};
186
+ }
187
+ opts = opts || {};
188
+ var deferred = Q.defer();
189
+ var allResources = [];
190
+ opts.callback = function(resource, done) {
191
+ allResources.push(resource);
192
+
193
+ if (!_.isUndefined(opts.limit) && allResources.length === opts.limit) {
194
+ done();
195
+ }
196
+ };
197
+
198
+ opts.done = function(error) {
199
+ if (_.isUndefined(error)) {
200
+ deferred.resolve(allResources);
201
+ } else {
202
+ deferred.reject(error);
203
+ }
204
+ };
205
+
206
+ if (_.isFunction(callback)) {
207
+ deferred.promise.nodeify(callback);
208
+ }
209
+
210
+ this.each(opts);
211
+ return deferred.promise;
212
+ };
213
+
214
+ /* jshint ignore:start */
215
+ /**
216
+ * Retrieve a single page of ConferenceParticipantInstance records from the API.
217
+ *
218
+ * The request is executed immediately.
219
+ *
220
+ * If a function is passed as the first argument, it will be used as the callback
221
+ * function.
222
+ *
223
+ * @function page
224
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantList#
225
+ *
226
+ * @param {object} [opts] - Options for request
227
+ * @param {string} [opts.participantSid] - The participant_sid
228
+ * @param {string} [opts.label] - The label
229
+ * @param {string} [opts.events] - The events
230
+ * @param {string} [opts.pageToken] - PageToken provided by the API
231
+ * @param {number} [opts.pageNumber] -
232
+ * Page Number, this value is simply for client state
233
+ * @param {number} [opts.pageSize] - Number of records to return, defaults to 50
234
+ * @param {function} [callback] - Callback to handle list of records
235
+ *
236
+ * @returns {Promise} Resolves to a list of records
237
+ */
238
+ /* jshint ignore:end */
239
+ ConferenceParticipantListInstance.page = function page(opts, callback) {
240
+ if (_.isFunction(opts)) {
241
+ callback = opts;
242
+ opts = {};
243
+ }
244
+ opts = opts || {};
245
+
246
+ var deferred = Q.defer();
247
+ var data = values.of({
248
+ 'ParticipantSid': _.get(opts, 'participantSid'),
249
+ 'Label': _.get(opts, 'label'),
250
+ 'Events': _.get(opts, 'events'),
251
+ 'PageToken': opts.pageToken,
252
+ 'Page': opts.pageNumber,
253
+ 'PageSize': opts.pageSize
254
+ });
255
+
256
+ var promise = this._version.page({uri: this._uri, method: 'GET', params: data});
257
+
258
+ promise = promise.then(function(payload) {
259
+ deferred.resolve(new ConferenceParticipantPage(this._version, payload, this._solution));
260
+ }.bind(this));
261
+
262
+ promise.catch(function(error) {
263
+ deferred.reject(error);
264
+ });
265
+
266
+ if (_.isFunction(callback)) {
267
+ deferred.promise.nodeify(callback);
268
+ }
269
+
270
+ return deferred.promise;
271
+ };
272
+
273
+ /* jshint ignore:start */
274
+ /**
275
+ * Retrieve a single target page of ConferenceParticipantInstance records from the
276
+ * API.
277
+ *
278
+ * The request is executed immediately.
279
+ *
280
+ * If a function is passed as the first argument, it will be used as the callback
281
+ * function.
282
+ *
283
+ * @function getPage
284
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantList#
285
+ *
286
+ * @param {string} [targetUrl] - API-generated URL for the requested results page
287
+ * @param {function} [callback] - Callback to handle list of records
288
+ *
289
+ * @returns {Promise} Resolves to a list of records
290
+ */
291
+ /* jshint ignore:end */
292
+ ConferenceParticipantListInstance.getPage = function getPage(targetUrl,
293
+ callback) {
294
+ var deferred = Q.defer();
295
+
296
+ var promise = this._version._domain.twilio.request({method: 'GET', uri: targetUrl});
297
+
298
+ promise = promise.then(function(payload) {
299
+ deferred.resolve(new ConferenceParticipantPage(this._version, payload, this._solution));
300
+ }.bind(this));
301
+
302
+ promise.catch(function(error) {
303
+ deferred.reject(error);
304
+ });
305
+
306
+ if (_.isFunction(callback)) {
307
+ deferred.promise.nodeify(callback);
308
+ }
309
+
310
+ return deferred.promise;
311
+ };
312
+
313
+ /* jshint ignore:start */
314
+ /**
315
+ * Constructs a conference_participant
316
+ *
317
+ * @function get
318
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantList#
319
+ *
320
+ * @param {string} participantSid - The participant_sid
321
+ *
322
+ * @returns {Twilio.Insights.V1.ConferenceContext.ConferenceParticipantContext}
323
+ */
324
+ /* jshint ignore:end */
325
+ ConferenceParticipantListInstance.get = function get(participantSid) {
326
+ return new ConferenceParticipantContext(
327
+ this._version,
328
+ this._solution.conferenceSid,
329
+ participantSid
330
+ );
331
+ };
332
+
333
+ /* jshint ignore:start */
334
+ /**
335
+ * Provide a user-friendly representation
336
+ *
337
+ * @function toJSON
338
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantList#
339
+ *
340
+ * @returns Object
341
+ */
342
+ /* jshint ignore:end */
343
+ ConferenceParticipantListInstance.toJSON = function toJSON() {
344
+ return this._solution;
345
+ };
346
+
347
+ ConferenceParticipantListInstance[util.inspect.custom] = function inspect(depth,
348
+ options) {
349
+ return util.inspect(this.toJSON(), options);
350
+ };
351
+
352
+ return ConferenceParticipantListInstance;
353
+ };
354
+
355
+
356
+ /* jshint ignore:start */
357
+ /**
358
+ * Initialize the ConferenceParticipantPage
359
+ *
360
+ * @constructor Twilio.Insights.V1.ConferenceContext.ConferenceParticipantPage
361
+ *
362
+ * @param {V1} version - Version of the resource
363
+ * @param {Response<string>} response - Response from the API
364
+ * @param {ConferenceParticipantSolution} solution - Path solution
365
+ *
366
+ * @returns ConferenceParticipantPage
367
+ */
368
+ /* jshint ignore:end */
369
+ ConferenceParticipantPage = function ConferenceParticipantPage(version,
370
+ response, solution) {
371
+ // Path Solution
372
+ this._solution = solution;
373
+
374
+ Page.prototype.constructor.call(this, version, response, this._solution);
375
+ };
376
+
377
+ _.extend(ConferenceParticipantPage.prototype, Page.prototype);
378
+ ConferenceParticipantPage.prototype.constructor = ConferenceParticipantPage;
379
+
380
+ /* jshint ignore:start */
381
+ /**
382
+ * Build an instance of ConferenceParticipantInstance
383
+ *
384
+ * @function getInstance
385
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantPage#
386
+ *
387
+ * @param {ConferenceParticipantPayload} payload - Payload response from the API
388
+ *
389
+ * @returns ConferenceParticipantInstance
390
+ */
391
+ /* jshint ignore:end */
392
+ ConferenceParticipantPage.prototype.getInstance = function getInstance(payload)
393
+ {
394
+ return new ConferenceParticipantInstance(this._version, payload, this._solution.conferenceSid);
395
+ };
396
+
397
+ /* jshint ignore:start */
398
+ /**
399
+ * Provide a user-friendly representation
400
+ *
401
+ * @function toJSON
402
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantPage#
403
+ *
404
+ * @returns Object
405
+ */
406
+ /* jshint ignore:end */
407
+ ConferenceParticipantPage.prototype.toJSON = function toJSON() {
408
+ let clone = {};
409
+ _.forOwn(this, function(value, key) {
410
+ if (!_.startsWith(key, '_') && ! _.isFunction(value)) {
411
+ clone[key] = value;
412
+ }
413
+ });
414
+ return clone;
415
+ };
416
+
417
+ ConferenceParticipantPage.prototype[util.inspect.custom] = function
418
+ inspect(depth, options) {
419
+ return util.inspect(this.toJSON(), options);
420
+ };
421
+
422
+
423
+ /* jshint ignore:start */
424
+ /**
425
+ * Initialize the ConferenceParticipantContext
426
+ *
427
+ * @constructor Twilio.Insights.V1.ConferenceContext.ConferenceParticipantInstance
428
+ *
429
+ * @property {string} participantSid - The participant_sid
430
+ * @property {string} label - The label
431
+ * @property {string} conferenceSid - The conference_sid
432
+ * @property {string} callSid - The call_sid
433
+ * @property {string} accountSid - The account_sid
434
+ * @property {conference_participant.call_direction} callDirection -
435
+ * The call_direction
436
+ * @property {string} from - The from
437
+ * @property {string} to - The to
438
+ * @property {conference_participant.call_state} callState - The call_state
439
+ * @property {string} countryCode - The country_code
440
+ * @property {boolean} isModerator - The is_moderator
441
+ * @property {Date} joinTime - The join_time
442
+ * @property {Date} leaveTime - The leave_time
443
+ * @property {number} durationSeconds - The duration_seconds
444
+ * @property {string} whisper - The whisper
445
+ * @property {boolean} agentAudio - The agent_audio
446
+ * @property {number} outboundQueueLength - The outbound_queue_length
447
+ * @property {number} outboundTimeInQueue - The outbound_time_in_queue
448
+ * @property {conference_participant.jitter_buffer_size} jitterBufferSize -
449
+ * The jitter_buffer_size
450
+ * @property {boolean} isCoach - The is_coach
451
+ * @property {string} coachedParticipants - The coached_participants
452
+ * @property {conference_participant.region} participantRegion -
453
+ * The participant_region
454
+ * @property {conference_participant.region} conferenceRegion -
455
+ * The conference_region
456
+ * @property {conference_participant.call_type} callType - The call_type
457
+ * @property {number} qualityIssues - The quality_issues
458
+ * @property {object} properties - The properties
459
+ * @property {object} events - The events
460
+ * @property {object} metrics - The metrics
461
+ * @property {string} url - The url
462
+ *
463
+ * @param {V1} version - Version of the resource
464
+ * @param {ConferenceParticipantPayload} payload - The instance payload
465
+ * @param {sid} conferenceSid - The conference_sid
466
+ * @param {sid} participantSid - The participant_sid
467
+ */
468
+ /* jshint ignore:end */
469
+ ConferenceParticipantInstance = function ConferenceParticipantInstance(version,
470
+ payload, conferenceSid, participantSid) {
471
+ this._version = version;
472
+
473
+ // Marshaled Properties
474
+ this.participantSid = payload.participant_sid; // jshint ignore:line
475
+ this.label = payload.label; // jshint ignore:line
476
+ this.conferenceSid = payload.conference_sid; // jshint ignore:line
477
+ this.callSid = payload.call_sid; // jshint ignore:line
478
+ this.accountSid = payload.account_sid; // jshint ignore:line
479
+ this.callDirection = payload.call_direction; // jshint ignore:line
480
+ this.from = payload.from; // jshint ignore:line
481
+ this.to = payload.to; // jshint ignore:line
482
+ this.callState = payload.call_state; // jshint ignore:line
483
+ this.countryCode = payload.country_code; // jshint ignore:line
484
+ this.isModerator = payload.is_moderator; // jshint ignore:line
485
+ this.joinTime = deserialize.iso8601DateTime(payload.join_time); // jshint ignore:line
486
+ this.leaveTime = deserialize.iso8601DateTime(payload.leave_time); // jshint ignore:line
487
+ this.durationSeconds = deserialize.integer(payload.duration_seconds); // jshint ignore:line
488
+ this.whisper = payload.whisper; // jshint ignore:line
489
+ this.agentAudio = payload.agent_audio; // jshint ignore:line
490
+ this.outboundQueueLength = deserialize.integer(payload.outbound_queue_length); // jshint ignore:line
491
+ this.outboundTimeInQueue = deserialize.integer(payload.outbound_time_in_queue); // jshint ignore:line
492
+ this.jitterBufferSize = payload.jitter_buffer_size; // jshint ignore:line
493
+ this.isCoach = payload.is_coach; // jshint ignore:line
494
+ this.coachedParticipants = payload.coached_participants; // jshint ignore:line
495
+ this.participantRegion = payload.participant_region; // jshint ignore:line
496
+ this.conferenceRegion = payload.conference_region; // jshint ignore:line
497
+ this.callType = payload.call_type; // jshint ignore:line
498
+ this.qualityIssues = deserialize.integer(payload.quality_issues); // jshint ignore:line
499
+ this.properties = payload.properties; // jshint ignore:line
500
+ this.events = payload.events; // jshint ignore:line
501
+ this.metrics = payload.metrics; // jshint ignore:line
502
+ this.url = payload.url; // jshint ignore:line
503
+
504
+ // Context
505
+ this._context = undefined;
506
+ this._solution = {
507
+ conferenceSid: conferenceSid,
508
+ participantSid: participantSid || this.participantSid,
509
+ };
510
+ };
511
+
512
+ Object.defineProperty(ConferenceParticipantInstance.prototype,
513
+ '_proxy', {
514
+ get: function() {
515
+ if (!this._context) {
516
+ this._context = new ConferenceParticipantContext(
517
+ this._version,
518
+ this._solution.conferenceSid,
519
+ this._solution.participantSid
520
+ );
521
+ }
522
+
523
+ return this._context;
524
+ }
525
+ });
526
+
527
+ /* jshint ignore:start */
528
+ /**
529
+ * fetch a ConferenceParticipantInstance
530
+ *
531
+ * @function fetch
532
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantInstance#
533
+ *
534
+ * @param {object} [opts] - Options for request
535
+ * @param {string} [opts.events] - The events
536
+ * @param {string} [opts.metrics] - The metrics
537
+ * @param {function} [callback] - Callback to handle processed record
538
+ *
539
+ * @returns {Promise} Resolves to processed ConferenceParticipantInstance
540
+ */
541
+ /* jshint ignore:end */
542
+ ConferenceParticipantInstance.prototype.fetch = function fetch(opts, callback) {
543
+ return this._proxy.fetch(opts, callback);
544
+ };
545
+
546
+ /* jshint ignore:start */
547
+ /**
548
+ * Provide a user-friendly representation
549
+ *
550
+ * @function toJSON
551
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantInstance#
552
+ *
553
+ * @returns Object
554
+ */
555
+ /* jshint ignore:end */
556
+ ConferenceParticipantInstance.prototype.toJSON = function toJSON() {
557
+ let clone = {};
558
+ _.forOwn(this, function(value, key) {
559
+ if (!_.startsWith(key, '_') && ! _.isFunction(value)) {
560
+ clone[key] = value;
561
+ }
562
+ });
563
+ return clone;
564
+ };
565
+
566
+ ConferenceParticipantInstance.prototype[util.inspect.custom] = function
567
+ inspect(depth, options) {
568
+ return util.inspect(this.toJSON(), options);
569
+ };
570
+
571
+
572
+ /* jshint ignore:start */
573
+ /**
574
+ * Initialize the ConferenceParticipantContext
575
+ *
576
+ * @constructor Twilio.Insights.V1.ConferenceContext.ConferenceParticipantContext
577
+ *
578
+ * @param {V1} version - Version of the resource
579
+ * @param {sid} conferenceSid - The conference_sid
580
+ * @param {sid} participantSid - The participant_sid
581
+ */
582
+ /* jshint ignore:end */
583
+ ConferenceParticipantContext = function ConferenceParticipantContext(version,
584
+ conferenceSid, participantSid) {
585
+ this._version = version;
586
+
587
+ // Path Solution
588
+ this._solution = {conferenceSid: conferenceSid, participantSid: participantSid, };
589
+ this._uri = `/Conferences/${conferenceSid}/Participants/${participantSid}`;
590
+ };
591
+
592
+ /* jshint ignore:start */
593
+ /**
594
+ * fetch a ConferenceParticipantInstance
595
+ *
596
+ * @function fetch
597
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantContext#
598
+ *
599
+ * @param {object} [opts] - Options for request
600
+ * @param {string} [opts.events] - The events
601
+ * @param {string} [opts.metrics] - The metrics
602
+ * @param {function} [callback] - Callback to handle processed record
603
+ *
604
+ * @returns {Promise} Resolves to processed ConferenceParticipantInstance
605
+ */
606
+ /* jshint ignore:end */
607
+ ConferenceParticipantContext.prototype.fetch = function fetch(opts, callback) {
608
+ if (_.isFunction(opts)) {
609
+ callback = opts;
610
+ opts = {};
611
+ }
612
+ opts = opts || {};
613
+
614
+ var deferred = Q.defer();
615
+ var data = values.of({'Events': _.get(opts, 'events'), 'Metrics': _.get(opts, 'metrics')});
616
+
617
+ var promise = this._version.fetch({uri: this._uri, method: 'GET', params: data});
618
+
619
+ promise = promise.then(function(payload) {
620
+ deferred.resolve(new ConferenceParticipantInstance(
621
+ this._version,
622
+ payload,
623
+ this._solution.conferenceSid,
624
+ this._solution.participantSid
625
+ ));
626
+ }.bind(this));
627
+
628
+ promise.catch(function(error) {
629
+ deferred.reject(error);
630
+ });
631
+
632
+ if (_.isFunction(callback)) {
633
+ deferred.promise.nodeify(callback);
634
+ }
635
+
636
+ return deferred.promise;
637
+ };
638
+
639
+ /* jshint ignore:start */
640
+ /**
641
+ * Provide a user-friendly representation
642
+ *
643
+ * @function toJSON
644
+ * @memberof Twilio.Insights.V1.ConferenceContext.ConferenceParticipantContext#
645
+ *
646
+ * @returns Object
647
+ */
648
+ /* jshint ignore:end */
649
+ ConferenceParticipantContext.prototype.toJSON = function toJSON() {
650
+ return this._solution;
651
+ };
652
+
653
+ ConferenceParticipantContext.prototype[util.inspect.custom] = function
654
+ inspect(depth, options) {
655
+ return util.inspect(this.toJSON(), options);
656
+ };
657
+
658
+ module.exports = {
659
+ ConferenceParticipantList: ConferenceParticipantList,
660
+ ConferenceParticipantPage: ConferenceParticipantPage,
661
+ ConferenceParticipantInstance: ConferenceParticipantInstance,
662
+ ConferenceParticipantContext: ConferenceParticipantContext
663
+ };