purecloud 0.58.1 → 0.59.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 (349) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/bin/notificationMappings.json +16 -0
  4. data/config-ruby.json +1 -1
  5. data/doc_out/AgentActivityEntityListing.html.md +2 -2
  6. data/doc_out/AnalyticsApi.html.md +57 -0
  7. data/doc_out/AnalyticsConversationSegment.html.md +2 -0
  8. data/doc_out/AnalyticsRoutingStatusRecord.html.md +16 -0
  9. data/doc_out/AnalyticsSession.html.md +8 -0
  10. data/doc_out/AnalyticsUserDetail.html.md +15 -0
  11. data/doc_out/AnalyticsUserDetailsQueryResponse.html.md +14 -0
  12. data/doc_out/AnalyticsUserPresenceRecord.html.md +17 -0
  13. data/doc_out/AttemptLimitsEntityListing.html.md +2 -2
  14. data/doc_out/AttributeEntityListing.html.md +2 -2
  15. data/doc_out/CalibrationEntityListing.html.md +2 -2
  16. data/doc_out/CallConversationEntityListing.html.md +2 -2
  17. data/doc_out/CallConversationNotificationCallMediaParticipant.html.md +1 -1
  18. data/doc_out/CallConversationNotificationParticipants.html.md +1 -1
  19. data/doc_out/CallableTimeSetEntityListing.html.md +2 -2
  20. data/doc_out/CallbackConversationEntityListing.html.md +2 -2
  21. data/doc_out/CallbackConversationNotificationCallbackMediaParticipant.html.md +1 -1
  22. data/doc_out/CallbackConversationNotificationParticipants.html.md +1 -1
  23. data/doc_out/CampaignEntityListing.html.md +2 -2
  24. data/doc_out/CampaignSequenceEntityListing.html.md +2 -2
  25. data/doc_out/CertificateAuthorityEntityListing.html.md +2 -2
  26. data/doc_out/ChannelEntityListing.html.md +2 -2
  27. data/doc_out/ChatConversationEntityListing.html.md +2 -2
  28. data/doc_out/ChatConversationNotificationChatMediaParticipant.html.md +1 -1
  29. data/doc_out/ChatConversationNotificationParticipants.html.md +1 -1
  30. data/doc_out/CobrowseConversationEntityListing.html.md +2 -2
  31. data/doc_out/CobrowseConversationNotificationCobrowseMediaParticipant.html.md +1 -1
  32. data/doc_out/CobrowseConversationNotificationParticipants.html.md +1 -1
  33. data/doc_out/CommandStatusEntityListing.html.md +2 -2
  34. data/doc_out/ContactListEntityListing.html.md +2 -2
  35. data/doc_out/ContentManagementApi.html.md +69 -0
  36. data/doc_out/ConversationEntityListing.html.md +2 -2
  37. data/doc_out/ConversationNotificationParticipant.html.md +1 -1
  38. data/doc_out/ConversationNotificationParticipants.html.md +13 -13
  39. data/doc_out/{ConversationNotificationScreenShare.html.md → ConversationNotificationScreenshare.html.md} +2 -2
  40. data/doc_out/{ConversationNotificationScreenShares.html.md → ConversationNotificationScreenshares.html.md} +2 -2
  41. data/doc_out/DIDEntityListing.html.md +2 -2
  42. data/doc_out/DIDPoolEntityListing.html.md +2 -2
  43. data/doc_out/DncListEntityListing.html.md +2 -2
  44. data/doc_out/DocumentAuditEntityListing.html.md +2 -2
  45. data/doc_out/DocumentDataNotification.html.md +28 -0
  46. data/doc_out/{CallbackConversationNotificationUser.html.md → DocumentDataNotificationCreatedBy.html.md} +2 -2
  47. data/doc_out/DocumentDataNotificationLockData.html.md +15 -0
  48. data/doc_out/DocumentDataNotificationLockInfo.html.md +15 -0
  49. data/doc_out/DocumentDataNotificationUserData.html.md +14 -0
  50. data/doc_out/DocumentDataNotificationWorkspace.html.md +13 -0
  51. data/doc_out/DocumentDataNotificationWorkspaceData.html.md +13 -0
  52. data/doc_out/DocumentEntityListing.html.md +2 -2
  53. data/doc_out/DomainEdgeSoftwareVersionDtoEntityListing.html.md +2 -2
  54. data/doc_out/DomainEntityListing.html.md +2 -2
  55. data/doc_out/DomainEntityListingEvaluationForm.html.md +2 -2
  56. data/doc_out/DomainEntityListingQueryResult.html.md +2 -2
  57. data/doc_out/EdgeEntityListing.html.md +2 -2
  58. data/doc_out/EdgeGroupEntityListing.html.md +2 -2
  59. data/doc_out/EdgeLineEntityListing.html.md +2 -2
  60. data/doc_out/EmailConversationEntityListing.html.md +2 -2
  61. data/doc_out/EmailConversationNotificationEmailMediaParticipant.html.md +1 -1
  62. data/doc_out/EmailConversationNotificationParticipants.html.md +1 -1
  63. data/doc_out/EmailMessageListing.html.md +2 -2
  64. data/doc_out/EncryptionKeyEntityListing.html.md +2 -2
  65. data/doc_out/EndpointEntityListing.html.md +2 -2
  66. data/doc_out/EvaluationEntityListing.html.md +2 -2
  67. data/doc_out/EvaluationFormEntityListing.html.md +2 -2
  68. data/doc_out/EvaluatorActivityEntityListing.html.md +2 -2
  69. data/doc_out/ExtensionEntityListing.html.md +2 -2
  70. data/doc_out/ExtensionPoolEntityListing.html.md +2 -2
  71. data/doc_out/FaxDataNotification.html.md +31 -0
  72. data/doc_out/FaxDataNotificationLockData.html.md +15 -0
  73. data/doc_out/FaxDataNotificationLockInfo.html.md +15 -0
  74. data/doc_out/FaxDataNotificationUserData.html.md +14 -0
  75. data/doc_out/FaxDataNotificationWorkspaceData.html.md +13 -0
  76. data/doc_out/FaxDocumentEntityListing.html.md +2 -2
  77. data/doc_out/GroupEntityListing.html.md +2 -2
  78. data/doc_out/GroupsApi.html.md +3 -1
  79. data/doc_out/HeartBeatAlertContainer.html.md +2 -2
  80. data/doc_out/HeartBeatRuleContainer.html.md +2 -2
  81. data/doc_out/InboundDomainEntityListing.html.md +2 -2
  82. data/doc_out/InboundRouteEntityListing.html.md +2 -2
  83. data/doc_out/InteractionStatsAlertContainer.html.md +2 -2
  84. data/doc_out/InteractionStatsRuleContainer.html.md +2 -2
  85. data/doc_out/KeywordSetEntityListing.html.md +2 -2
  86. data/doc_out/LanguageEntityListing.html.md +2 -2
  87. data/doc_out/LibraryEntityListing.html.md +2 -2
  88. data/doc_out/LineBaseEntityListing.html.md +2 -2
  89. data/doc_out/LineEntityListing.html.md +2 -2
  90. data/doc_out/LocalEncryptionConfigurationListing.html.md +2 -2
  91. data/doc_out/LogicalInterfaceEntityListing.html.md +2 -2
  92. data/doc_out/OAuthClientEntityListing.html.md +2 -2
  93. data/doc_out/OAuthProviderEntityListing.html.md +2 -2
  94. data/doc_out/OrganizationPresenceEntityListing.html.md +2 -2
  95. data/doc_out/OrganizationRoleEntityListing.html.md +2 -2
  96. data/doc_out/OrphanRecordingListing.html.md +2 -2
  97. data/doc_out/OutOfOfficeNotification.html.md +1 -1
  98. data/doc_out/OutboundRouteEntityListing.html.md +2 -2
  99. data/doc_out/Page.html.md +20 -0
  100. data/doc_out/PermissionCollectionEntityListing.html.md +2 -2
  101. data/doc_out/PhoneBaseEntityListing.html.md +2 -2
  102. data/doc_out/PhoneEntityListing.html.md +2 -2
  103. data/doc_out/PhoneMetaBaseEntityListing.html.md +2 -2
  104. data/doc_out/PhysicalInterfaceEntityListing.html.md +2 -2
  105. data/doc_out/PolicyEntityListing.html.md +2 -2
  106. data/doc_out/PresenceApi.html.md +3 -4
  107. data/doc_out/QualityAuditPage.html.md +2 -2
  108. data/doc_out/QueueEmailAddress.html.md +1 -1
  109. data/doc_out/QueueEntityListing.html.md +2 -2
  110. data/doc_out/QueueMemberEntityListing.html.md +2 -2
  111. data/doc_out/RecordingApi.html.md +2 -2
  112. data/doc_out/RecordingDataNotification.html.md +31 -0
  113. data/doc_out/RecordingDataNotificationConversationData.html.md +13 -0
  114. data/doc_out/RecordingDataNotificationLockData.html.md +15 -0
  115. data/doc_out/RecordingDataNotificationLockInfo.html.md +15 -0
  116. data/doc_out/RecordingDataNotificationUserData.html.md +14 -0
  117. data/doc_out/RecordingDataNotificationWorkspaceData.html.md +13 -0
  118. data/doc_out/ReportMetaDataEntityListing.html.md +2 -2
  119. data/doc_out/ReportRunEntryEntityDomainListing.html.md +2 -2
  120. data/doc_out/ReportScheduleEntityListing.html.md +2 -2
  121. data/doc_out/ResponseEntityList.html.md +2 -2
  122. data/doc_out/ResponseEntityListing.html.md +2 -2
  123. data/doc_out/ResponseSetEntityListing.html.md +2 -2
  124. data/doc_out/RuleSetEntityListing.html.md +2 -2
  125. data/doc_out/SchemaCategoryEntityListing.html.md +2 -2
  126. data/doc_out/SchemaReferenceEntityListing.html.md +2 -2
  127. data/doc_out/ScreenRecordingSessionListing.html.md +2 -2
  128. data/doc_out/ScreenShareConversationNotificationParticipants.html.md +1 -1
  129. data/doc_out/ScreenShareConversationNotificationScreenShareMediaParticipant.html.md +1 -1
  130. data/doc_out/Script.html.md +26 -0
  131. data/doc_out/ScriptEntityListing.html.md +22 -0
  132. data/doc_out/ScriptsApi.html.md +557 -0
  133. data/doc_out/SecurityProfileEntityListing.html.md +2 -2
  134. data/doc_out/ShareEntityListing.html.md +2 -2
  135. data/doc_out/SiteEntityListing.html.md +2 -2
  136. data/doc_out/SkillEntityListing.html.md +2 -2
  137. data/doc_out/SocialConversationNotificationParticipants.html.md +1 -1
  138. data/doc_out/SocialConversationNotificationSocialMediaParticipant.html.md +1 -1
  139. data/doc_out/StationEntityListing.html.md +2 -2
  140. data/doc_out/TagValueEntityListing.html.md +2 -2
  141. data/doc_out/TelephonyProvidersEdgeApi.html.md +5 -3
  142. data/doc_out/TimeOffRequest.html.md +30 -0
  143. data/doc_out/TimeOffRequestList.html.md +16 -0
  144. data/doc_out/TimeOffRequestPatch.html.md +13 -0
  145. data/doc_out/TimeZoneEntityListing.html.md +2 -2
  146. data/doc_out/TrunkBaseEntityListing.html.md +2 -2
  147. data/doc_out/TrunkEntityListing.html.md +2 -2
  148. data/doc_out/TrunkMetabaseEntityListing.html.md +2 -2
  149. data/doc_out/UserDetailsQuery.html.md +20 -0
  150. data/doc_out/UserEntityListing.html.md +2 -2
  151. data/doc_out/UserQueueEntityListing.html.md +2 -2
  152. data/doc_out/UserRecordingEntityListing.html.md +2 -2
  153. data/doc_out/UserSkillEntityListing.html.md +2 -2
  154. data/doc_out/UsersApi.html.md +73 -12
  155. data/doc_out/UsersEntityListing.html.md +2 -2
  156. data/doc_out/VideoConversationNotificationParticipants.html.md +1 -1
  157. data/doc_out/VideoConversationNotificationVideoMediaParticipant.html.md +1 -1
  158. data/doc_out/WorkforceManagementApi.html.md +302 -0
  159. data/doc_out/WorkspaceEntityListing.html.md +2 -2
  160. data/doc_out/WorkspaceMemberEntityListing.html.md +2 -2
  161. data/doc_out/WrapupCodeEntityListing.html.md +2 -2
  162. data/doc_out/index.html.md +3 -3
  163. data/lib/purecloud.rb +32 -3
  164. data/lib/purecloud/api/analytics_api.rb +60 -0
  165. data/lib/purecloud/api/content_management_api.rb +75 -0
  166. data/lib/purecloud/api/groups_api.rb +3 -0
  167. data/lib/purecloud/api/outbound_api.rb +16 -16
  168. data/lib/purecloud/api/presence_api.rb +5 -6
  169. data/lib/purecloud/api/recording_api.rb +2 -2
  170. data/lib/purecloud/api/scripts_api.rb +617 -0
  171. data/lib/purecloud/api/telephony_providers_edge_api.rb +7 -4
  172. data/lib/purecloud/api/users_api.rb +84 -20
  173. data/lib/purecloud/api/workforce_management_api.rb +317 -0
  174. data/lib/purecloud/api_client.rb +1 -1
  175. data/lib/purecloud/models/agent_activity_entity_listing.rb +17 -17
  176. data/lib/purecloud/models/analytics_conversation_segment.rb +28 -4
  177. data/lib/purecloud/models/analytics_routing_status_record.rb +208 -0
  178. data/lib/purecloud/models/analytics_session.rb +83 -1
  179. data/lib/purecloud/models/analytics_user_detail.rb +192 -0
  180. data/lib/purecloud/models/analytics_user_details_query_response.rb +179 -0
  181. data/lib/purecloud/models/analytics_user_presence_record.rb +219 -0
  182. data/lib/purecloud/models/attempt_limits_entity_listing.rb +17 -17
  183. data/lib/purecloud/models/attribute_entity_listing.rb +17 -17
  184. data/lib/purecloud/models/calibration_entity_listing.rb +17 -17
  185. data/lib/purecloud/models/call.rb +4 -4
  186. data/lib/purecloud/models/call_conversation.rb +1 -1
  187. data/lib/purecloud/models/call_conversation_entity_listing.rb +17 -17
  188. data/lib/purecloud/models/call_conversation_notification_call_media_participant.rb +1 -1
  189. data/lib/purecloud/models/call_conversation_notification_participants.rb +1 -1
  190. data/lib/purecloud/models/call_media_participant.rb +4 -4
  191. data/lib/purecloud/models/callable_time_set_entity_listing.rb +17 -17
  192. data/lib/purecloud/models/callback.rb +3 -3
  193. data/lib/purecloud/models/callback_conversation_entity_listing.rb +17 -17
  194. data/lib/purecloud/models/callback_conversation_notification_callback_media_participant.rb +1 -1
  195. data/lib/purecloud/models/callback_conversation_notification_participants.rb +1 -1
  196. data/lib/purecloud/models/callback_media_participant.rb +3 -3
  197. data/lib/purecloud/models/campaign_entity_listing.rb +17 -17
  198. data/lib/purecloud/models/campaign_sequence.rb +1 -1
  199. data/lib/purecloud/models/campaign_sequence_entity_listing.rb +17 -17
  200. data/lib/purecloud/models/certificate_authority_entity_listing.rb +17 -17
  201. data/lib/purecloud/models/channel_entity_listing.rb +17 -17
  202. data/lib/purecloud/models/chat_conversation_entity_listing.rb +17 -17
  203. data/lib/purecloud/models/chat_conversation_notification_chat_media_participant.rb +1 -1
  204. data/lib/purecloud/models/chat_conversation_notification_participants.rb +1 -1
  205. data/lib/purecloud/models/chat_media_participant.rb +3 -3
  206. data/lib/purecloud/models/cobrowse_conversation_entity_listing.rb +17 -17
  207. data/lib/purecloud/models/cobrowse_conversation_notification_cobrowse_media_participant.rb +1 -1
  208. data/lib/purecloud/models/cobrowse_conversation_notification_participants.rb +1 -1
  209. data/lib/purecloud/models/cobrowse_media_participant.rb +3 -3
  210. data/lib/purecloud/models/cobrowsesession.rb +2 -2
  211. data/lib/purecloud/models/command_status_entity_listing.rb +17 -17
  212. data/lib/purecloud/models/contact_list_entity_listing.rb +17 -17
  213. data/lib/purecloud/models/conversation.rb +1 -1
  214. data/lib/purecloud/models/conversation_chat.rb +3 -3
  215. data/lib/purecloud/models/conversation_entity_listing.rb +17 -17
  216. data/lib/purecloud/models/conversation_notification_participant.rb +8 -8
  217. data/lib/purecloud/models/conversation_notification_participants.rb +128 -128
  218. data/lib/purecloud/models/{conversation_notification_screen_share.rb → conversation_notification_screenshare.rb} +1 -1
  219. data/lib/purecloud/models/{conversation_notification_screen_shares.rb → conversation_notification_screenshares.rb} +1 -1
  220. data/lib/purecloud/models/did_entity_listing.rb +17 -17
  221. data/lib/purecloud/models/did_pool_entity_listing.rb +17 -17
  222. data/lib/purecloud/models/disconnect_reason.rb +1 -1
  223. data/lib/purecloud/models/dnc_list_entity_listing.rb +17 -17
  224. data/lib/purecloud/models/document_audit_entity_listing.rb +17 -17
  225. data/lib/purecloud/models/document_data_notification.rb +315 -0
  226. data/lib/purecloud/models/{callback_conversation_notification_user.rb → document_data_notification_created_by.rb} +1 -1
  227. data/lib/purecloud/models/document_data_notification_lock_data.rb +185 -0
  228. data/lib/purecloud/models/document_data_notification_lock_info.rb +185 -0
  229. data/lib/purecloud/models/document_data_notification_user_data.rb +175 -0
  230. data/lib/purecloud/models/document_data_notification_workspace.rb +165 -0
  231. data/lib/purecloud/models/document_data_notification_workspace_data.rb +165 -0
  232. data/lib/purecloud/models/document_entity_listing.rb +17 -17
  233. data/lib/purecloud/models/domain_edge_software_version_dto_entity_listing.rb +17 -17
  234. data/lib/purecloud/models/domain_entity_listing.rb +17 -17
  235. data/lib/purecloud/models/domain_entity_listing_evaluation_form.rb +17 -17
  236. data/lib/purecloud/models/domain_entity_listing_query_result.rb +17 -17
  237. data/lib/purecloud/models/edge_entity_listing.rb +17 -17
  238. data/lib/purecloud/models/edge_group_entity_listing.rb +17 -17
  239. data/lib/purecloud/models/edge_line_entity_listing.rb +17 -17
  240. data/lib/purecloud/models/email.rb +3 -3
  241. data/lib/purecloud/models/email_conversation_entity_listing.rb +17 -17
  242. data/lib/purecloud/models/email_conversation_notification_email_media_participant.rb +1 -1
  243. data/lib/purecloud/models/email_conversation_notification_participants.rb +1 -1
  244. data/lib/purecloud/models/email_media_participant.rb +3 -3
  245. data/lib/purecloud/models/email_message_listing.rb +17 -17
  246. data/lib/purecloud/models/encryption_key_entity_listing.rb +17 -17
  247. data/lib/purecloud/models/endpoint_entity_listing.rb +17 -17
  248. data/lib/purecloud/models/evaluation_entity_listing.rb +17 -17
  249. data/lib/purecloud/models/evaluation_form_entity_listing.rb +17 -17
  250. data/lib/purecloud/models/evaluator_activity_entity_listing.rb +17 -17
  251. data/lib/purecloud/models/extension_entity_listing.rb +17 -17
  252. data/lib/purecloud/models/extension_pool_entity_listing.rb +17 -17
  253. data/lib/purecloud/models/fax_data_notification.rb +345 -0
  254. data/lib/purecloud/models/fax_data_notification_lock_data.rb +185 -0
  255. data/lib/purecloud/models/fax_data_notification_lock_info.rb +185 -0
  256. data/lib/purecloud/models/fax_data_notification_user_data.rb +175 -0
  257. data/lib/purecloud/models/fax_data_notification_workspace_data.rb +165 -0
  258. data/lib/purecloud/models/fax_document_entity_listing.rb +17 -17
  259. data/lib/purecloud/models/group_entity_listing.rb +17 -17
  260. data/lib/purecloud/models/heart_beat_alert_container.rb +17 -17
  261. data/lib/purecloud/models/heart_beat_rule_container.rb +17 -17
  262. data/lib/purecloud/models/inbound_domain_entity_listing.rb +17 -17
  263. data/lib/purecloud/models/inbound_route_entity_listing.rb +17 -17
  264. data/lib/purecloud/models/interaction_stats_alert_container.rb +17 -17
  265. data/lib/purecloud/models/interaction_stats_rule_container.rb +17 -17
  266. data/lib/purecloud/models/keyword_set_entity_listing.rb +17 -17
  267. data/lib/purecloud/models/language_entity_listing.rb +17 -17
  268. data/lib/purecloud/models/library_entity_listing.rb +17 -17
  269. data/lib/purecloud/models/line_base_entity_listing.rb +17 -17
  270. data/lib/purecloud/models/line_entity_listing.rb +17 -17
  271. data/lib/purecloud/models/local_encryption_configuration_listing.rb +17 -17
  272. data/lib/purecloud/models/logical_interface_entity_listing.rb +17 -17
  273. data/lib/purecloud/models/media_participant_request.rb +1 -1
  274. data/lib/purecloud/models/o_auth_client_entity_listing.rb +17 -17
  275. data/lib/purecloud/models/o_auth_provider_entity_listing.rb +17 -17
  276. data/lib/purecloud/models/organization_presence_entity_listing.rb +17 -17
  277. data/lib/purecloud/models/organization_role_entity_listing.rb +17 -17
  278. data/lib/purecloud/models/orphan_recording_listing.rb +17 -17
  279. data/lib/purecloud/models/out_of_office_notification.rb +1 -1
  280. data/lib/purecloud/models/outbound_route_entity_listing.rb +17 -17
  281. data/lib/purecloud/models/page.rb +243 -0
  282. data/lib/purecloud/models/participant.rb +1 -1
  283. data/lib/purecloud/models/permission_collection_entity_listing.rb +17 -17
  284. data/lib/purecloud/models/phone_base_entity_listing.rb +17 -17
  285. data/lib/purecloud/models/phone_entity_listing.rb +17 -17
  286. data/lib/purecloud/models/phone_meta_base_entity_listing.rb +17 -17
  287. data/lib/purecloud/models/physical_interface_entity_listing.rb +17 -17
  288. data/lib/purecloud/models/policy_entity_listing.rb +17 -17
  289. data/lib/purecloud/models/quality_audit_page.rb +17 -17
  290. data/lib/purecloud/models/queue_email_address.rb +1 -1
  291. data/lib/purecloud/models/queue_entity_listing.rb +17 -17
  292. data/lib/purecloud/models/queue_member_entity_listing.rb +17 -17
  293. data/lib/purecloud/models/recording_data_notification.rb +345 -0
  294. data/lib/purecloud/models/recording_data_notification_conversation_data.rb +165 -0
  295. data/lib/purecloud/models/recording_data_notification_lock_data.rb +185 -0
  296. data/lib/purecloud/models/recording_data_notification_lock_info.rb +185 -0
  297. data/lib/purecloud/models/recording_data_notification_user_data.rb +175 -0
  298. data/lib/purecloud/models/recording_data_notification_workspace_data.rb +165 -0
  299. data/lib/purecloud/models/report_meta_data_entity_listing.rb +17 -17
  300. data/lib/purecloud/models/report_run_entry_entity_domain_listing.rb +17 -17
  301. data/lib/purecloud/models/report_schedule_entity_listing.rb +17 -17
  302. data/lib/purecloud/models/response_entity_list.rb +17 -17
  303. data/lib/purecloud/models/response_entity_listing.rb +17 -17
  304. data/lib/purecloud/models/response_set_entity_listing.rb +17 -17
  305. data/lib/purecloud/models/rule_set_entity_listing.rb +17 -17
  306. data/lib/purecloud/models/schema_category_entity_listing.rb +17 -17
  307. data/lib/purecloud/models/schema_reference_entity_listing.rb +17 -17
  308. data/lib/purecloud/models/screen_recording_session_listing.rb +17 -17
  309. data/lib/purecloud/models/screen_share_conversation_notification_participants.rb +1 -1
  310. data/lib/purecloud/models/screen_share_conversation_notification_screen_share_media_participant.rb +1 -1
  311. data/lib/purecloud/models/screenshare.rb +2 -2
  312. data/lib/purecloud/models/script.rb +303 -0
  313. data/lib/purecloud/models/script_entity_listing.rb +257 -0
  314. data/lib/purecloud/models/search_aggregation.rb +1 -1
  315. data/lib/purecloud/models/search_criteria.rb +1 -1
  316. data/lib/purecloud/models/security_profile_entity_listing.rb +17 -17
  317. data/lib/purecloud/models/share_entity_listing.rb +17 -17
  318. data/lib/purecloud/models/site_entity_listing.rb +17 -17
  319. data/lib/purecloud/models/skill_entity_listing.rb +17 -17
  320. data/lib/purecloud/models/social_conversation_notification_participants.rb +1 -1
  321. data/lib/purecloud/models/social_conversation_notification_social_media_participant.rb +1 -1
  322. data/lib/purecloud/models/social_expression.rb +2 -2
  323. data/lib/purecloud/models/station_entity_listing.rb +17 -17
  324. data/lib/purecloud/models/tag_value_entity_listing.rb +17 -17
  325. data/lib/purecloud/models/time_off_request.rb +369 -0
  326. data/lib/purecloud/models/time_off_request_list.rb +199 -0
  327. data/lib/purecloud/models/time_off_request_patch.rb +167 -0
  328. data/lib/purecloud/models/time_zone_entity_listing.rb +17 -17
  329. data/lib/purecloud/models/trunk_base_entity_listing.rb +17 -17
  330. data/lib/purecloud/models/trunk_entity_listing.rb +17 -17
  331. data/lib/purecloud/models/trunk_metabase_entity_listing.rb +17 -17
  332. data/lib/purecloud/models/user_details_query.rb +262 -0
  333. data/lib/purecloud/models/user_entity_listing.rb +17 -17
  334. data/lib/purecloud/models/user_queue_entity_listing.rb +17 -17
  335. data/lib/purecloud/models/user_recording_entity_listing.rb +17 -17
  336. data/lib/purecloud/models/user_schedule_adherence.rb +3 -3
  337. data/lib/purecloud/models/user_skill_entity_listing.rb +17 -17
  338. data/lib/purecloud/models/users_entity_listing.rb +17 -17
  339. data/lib/purecloud/models/video.rb +2 -2
  340. data/lib/purecloud/models/video_conversation_notification_participants.rb +1 -1
  341. data/lib/purecloud/models/video_conversation_notification_video_media_participant.rb +1 -1
  342. data/lib/purecloud/models/workspace_entity_listing.rb +17 -17
  343. data/lib/purecloud/models/workspace_member_entity_listing.rb +17 -17
  344. data/lib/purecloud/models/wrapup_code_entity_listing.rb +17 -17
  345. data/lib/purecloud/version.rb +1 -1
  346. data/newVersion.md +1 -1
  347. data/swagger.json +1 -1
  348. data/version.json +1 -1
  349. metadata +66 -8
@@ -26,16 +26,16 @@ module PureCloud
26
26
 
27
27
  attr_accessor :total
28
28
 
29
- attr_accessor :first_uri
30
-
31
29
  attr_accessor :self_uri
32
30
 
33
- attr_accessor :previous_uri
31
+ attr_accessor :first_uri
34
32
 
35
33
  attr_accessor :next_uri
36
34
 
37
35
  attr_accessor :last_uri
38
36
 
37
+ attr_accessor :previous_uri
38
+
39
39
  attr_accessor :page_count
40
40
 
41
41
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -50,16 +50,16 @@ module PureCloud
50
50
 
51
51
  :'total' => :'total',
52
52
 
53
- :'first_uri' => :'firstUri',
54
-
55
53
  :'self_uri' => :'selfUri',
56
54
 
57
- :'previous_uri' => :'previousUri',
55
+ :'first_uri' => :'firstUri',
58
56
 
59
57
  :'next_uri' => :'nextUri',
60
58
 
61
59
  :'last_uri' => :'lastUri',
62
60
 
61
+ :'previous_uri' => :'previousUri',
62
+
63
63
  :'page_count' => :'pageCount'
64
64
 
65
65
  }
@@ -72,11 +72,11 @@ module PureCloud
72
72
  :'page_size' => :'Integer',
73
73
  :'page_number' => :'Integer',
74
74
  :'total' => :'Integer',
75
- :'first_uri' => :'String',
76
75
  :'self_uri' => :'String',
77
- :'previous_uri' => :'String',
76
+ :'first_uri' => :'String',
78
77
  :'next_uri' => :'String',
79
78
  :'last_uri' => :'String',
79
+ :'previous_uri' => :'String',
80
80
  :'page_count' => :'Integer'
81
81
 
82
82
  }
@@ -107,16 +107,12 @@ module PureCloud
107
107
  self.total = attributes[:'total']
108
108
  end
109
109
 
110
- if attributes[:'firstUri']
111
- self.first_uri = attributes[:'firstUri']
112
- end
113
-
114
110
  if attributes[:'selfUri']
115
111
  self.self_uri = attributes[:'selfUri']
116
112
  end
117
113
 
118
- if attributes[:'previousUri']
119
- self.previous_uri = attributes[:'previousUri']
114
+ if attributes[:'firstUri']
115
+ self.first_uri = attributes[:'firstUri']
120
116
  end
121
117
 
122
118
  if attributes[:'nextUri']
@@ -127,6 +123,10 @@ module PureCloud
127
123
  self.last_uri = attributes[:'lastUri']
128
124
  end
129
125
 
126
+ if attributes[:'previousUri']
127
+ self.previous_uri = attributes[:'previousUri']
128
+ end
129
+
130
130
  if attributes[:'pageCount']
131
131
  self.page_count = attributes[:'pageCount']
132
132
  end
@@ -141,11 +141,11 @@ module PureCloud
141
141
  page_size == o.page_size &&
142
142
  page_number == o.page_number &&
143
143
  total == o.total &&
144
- first_uri == o.first_uri &&
145
144
  self_uri == o.self_uri &&
146
- previous_uri == o.previous_uri &&
145
+ first_uri == o.first_uri &&
147
146
  next_uri == o.next_uri &&
148
147
  last_uri == o.last_uri &&
148
+ previous_uri == o.previous_uri &&
149
149
  page_count == o.page_count
150
150
  end
151
151
 
@@ -156,7 +156,7 @@ module PureCloud
156
156
 
157
157
  # Calculate hash code according to all attributes.
158
158
  def hash
159
- [entities, page_size, page_number, total, first_uri, self_uri, previous_uri, next_uri, last_uri, page_count].hash
159
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, last_uri, previous_uri, page_count].hash
160
160
  end
161
161
 
162
162
  # build the object from hash
@@ -26,16 +26,16 @@ module PureCloud
26
26
 
27
27
  attr_accessor :total
28
28
 
29
- attr_accessor :first_uri
30
-
31
29
  attr_accessor :self_uri
32
30
 
33
- attr_accessor :previous_uri
31
+ attr_accessor :first_uri
34
32
 
35
33
  attr_accessor :next_uri
36
34
 
37
35
  attr_accessor :last_uri
38
36
 
37
+ attr_accessor :previous_uri
38
+
39
39
  attr_accessor :page_count
40
40
 
41
41
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -50,16 +50,16 @@ module PureCloud
50
50
 
51
51
  :'total' => :'total',
52
52
 
53
- :'first_uri' => :'firstUri',
54
-
55
53
  :'self_uri' => :'selfUri',
56
54
 
57
- :'previous_uri' => :'previousUri',
55
+ :'first_uri' => :'firstUri',
58
56
 
59
57
  :'next_uri' => :'nextUri',
60
58
 
61
59
  :'last_uri' => :'lastUri',
62
60
 
61
+ :'previous_uri' => :'previousUri',
62
+
63
63
  :'page_count' => :'pageCount'
64
64
 
65
65
  }
@@ -72,11 +72,11 @@ module PureCloud
72
72
  :'page_size' => :'Integer',
73
73
  :'page_number' => :'Integer',
74
74
  :'total' => :'Integer',
75
- :'first_uri' => :'String',
76
75
  :'self_uri' => :'String',
77
- :'previous_uri' => :'String',
76
+ :'first_uri' => :'String',
78
77
  :'next_uri' => :'String',
79
78
  :'last_uri' => :'String',
79
+ :'previous_uri' => :'String',
80
80
  :'page_count' => :'Integer'
81
81
 
82
82
  }
@@ -107,16 +107,12 @@ module PureCloud
107
107
  self.total = attributes[:'total']
108
108
  end
109
109
 
110
- if attributes[:'firstUri']
111
- self.first_uri = attributes[:'firstUri']
112
- end
113
-
114
110
  if attributes[:'selfUri']
115
111
  self.self_uri = attributes[:'selfUri']
116
112
  end
117
113
 
118
- if attributes[:'previousUri']
119
- self.previous_uri = attributes[:'previousUri']
114
+ if attributes[:'firstUri']
115
+ self.first_uri = attributes[:'firstUri']
120
116
  end
121
117
 
122
118
  if attributes[:'nextUri']
@@ -127,6 +123,10 @@ module PureCloud
127
123
  self.last_uri = attributes[:'lastUri']
128
124
  end
129
125
 
126
+ if attributes[:'previousUri']
127
+ self.previous_uri = attributes[:'previousUri']
128
+ end
129
+
130
130
  if attributes[:'pageCount']
131
131
  self.page_count = attributes[:'pageCount']
132
132
  end
@@ -141,11 +141,11 @@ module PureCloud
141
141
  page_size == o.page_size &&
142
142
  page_number == o.page_number &&
143
143
  total == o.total &&
144
- first_uri == o.first_uri &&
145
144
  self_uri == o.self_uri &&
146
- previous_uri == o.previous_uri &&
145
+ first_uri == o.first_uri &&
147
146
  next_uri == o.next_uri &&
148
147
  last_uri == o.last_uri &&
148
+ previous_uri == o.previous_uri &&
149
149
  page_count == o.page_count
150
150
  end
151
151
 
@@ -156,7 +156,7 @@ module PureCloud
156
156
 
157
157
  # Calculate hash code according to all attributes.
158
158
  def hash
159
- [entities, page_size, page_number, total, first_uri, self_uri, previous_uri, next_uri, last_uri, page_count].hash
159
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, last_uri, previous_uri, page_count].hash
160
160
  end
161
161
 
162
162
  # build the object from hash
@@ -26,16 +26,16 @@ module PureCloud
26
26
 
27
27
  attr_accessor :total
28
28
 
29
- attr_accessor :first_uri
30
-
31
29
  attr_accessor :self_uri
32
30
 
33
- attr_accessor :previous_uri
31
+ attr_accessor :first_uri
34
32
 
35
33
  attr_accessor :next_uri
36
34
 
37
35
  attr_accessor :last_uri
38
36
 
37
+ attr_accessor :previous_uri
38
+
39
39
  attr_accessor :page_count
40
40
 
41
41
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -50,16 +50,16 @@ module PureCloud
50
50
 
51
51
  :'total' => :'total',
52
52
 
53
- :'first_uri' => :'firstUri',
54
-
55
53
  :'self_uri' => :'selfUri',
56
54
 
57
- :'previous_uri' => :'previousUri',
55
+ :'first_uri' => :'firstUri',
58
56
 
59
57
  :'next_uri' => :'nextUri',
60
58
 
61
59
  :'last_uri' => :'lastUri',
62
60
 
61
+ :'previous_uri' => :'previousUri',
62
+
63
63
  :'page_count' => :'pageCount'
64
64
 
65
65
  }
@@ -72,11 +72,11 @@ module PureCloud
72
72
  :'page_size' => :'Integer',
73
73
  :'page_number' => :'Integer',
74
74
  :'total' => :'Integer',
75
- :'first_uri' => :'String',
76
75
  :'self_uri' => :'String',
77
- :'previous_uri' => :'String',
76
+ :'first_uri' => :'String',
78
77
  :'next_uri' => :'String',
79
78
  :'last_uri' => :'String',
79
+ :'previous_uri' => :'String',
80
80
  :'page_count' => :'Integer'
81
81
 
82
82
  }
@@ -107,16 +107,12 @@ module PureCloud
107
107
  self.total = attributes[:'total']
108
108
  end
109
109
 
110
- if attributes[:'firstUri']
111
- self.first_uri = attributes[:'firstUri']
112
- end
113
-
114
110
  if attributes[:'selfUri']
115
111
  self.self_uri = attributes[:'selfUri']
116
112
  end
117
113
 
118
- if attributes[:'previousUri']
119
- self.previous_uri = attributes[:'previousUri']
114
+ if attributes[:'firstUri']
115
+ self.first_uri = attributes[:'firstUri']
120
116
  end
121
117
 
122
118
  if attributes[:'nextUri']
@@ -127,6 +123,10 @@ module PureCloud
127
123
  self.last_uri = attributes[:'lastUri']
128
124
  end
129
125
 
126
+ if attributes[:'previousUri']
127
+ self.previous_uri = attributes[:'previousUri']
128
+ end
129
+
130
130
  if attributes[:'pageCount']
131
131
  self.page_count = attributes[:'pageCount']
132
132
  end
@@ -141,11 +141,11 @@ module PureCloud
141
141
  page_size == o.page_size &&
142
142
  page_number == o.page_number &&
143
143
  total == o.total &&
144
- first_uri == o.first_uri &&
145
144
  self_uri == o.self_uri &&
146
- previous_uri == o.previous_uri &&
145
+ first_uri == o.first_uri &&
147
146
  next_uri == o.next_uri &&
148
147
  last_uri == o.last_uri &&
148
+ previous_uri == o.previous_uri &&
149
149
  page_count == o.page_count
150
150
  end
151
151
 
@@ -156,7 +156,7 @@ module PureCloud
156
156
 
157
157
  # Calculate hash code according to all attributes.
158
158
  def hash
159
- [entities, page_size, page_number, total, first_uri, self_uri, previous_uri, next_uri, last_uri, page_count].hash
159
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, last_uri, previous_uri, page_count].hash
160
160
  end
161
161
 
162
162
  # build the object from hash
@@ -162,7 +162,7 @@ module PureCloud
162
162
  :'context' => :'String',
163
163
  :'start_hold_time' => :'DateTime',
164
164
  :'attributes' => :'Hash<String, String>',
165
- :'user' => :'CallbackConversationNotificationUser'
165
+ :'user' => :'DocumentDataNotificationCreatedBy'
166
166
 
167
167
  }
168
168
  end
@@ -150,7 +150,7 @@ module PureCloud
150
150
  :'held' => :'BOOLEAN',
151
151
  :'wrapup_required' => :'BOOLEAN',
152
152
  :'wrapup_prompt' => :'String',
153
- :'user' => :'CallbackConversationNotificationUser',
153
+ :'user' => :'DocumentDataNotificationCreatedBy',
154
154
  :'queue' => :'ScreenShareConversationNotificationUriReference',
155
155
  :'attributes' => :'Hash<String, String>',
156
156
  :'error_info' => :'ScreenShareConversationNotificationErrorInfo',
@@ -147,7 +147,7 @@ module PureCloud
147
147
 
148
148
  # Custom attribute writer method checking allowed values (enum).
149
149
  def state=(state)
150
- allowed_values = ["ALERTING", "DIALING", "CONTACTING", "OFFERING", "CONNECTED", "DISCONNECTED", "TERMINATED", "NONE"]
150
+ allowed_values = ["alerting", "dialing", "contacting", "offering", "connected", "disconnected", "terminated", "none"]
151
151
  if state && !allowed_values.include?(state)
152
152
  fail "invalid value for 'state', must be one of #{allowed_values}"
153
153
  end
@@ -156,7 +156,7 @@ module PureCloud
156
156
 
157
157
  # Custom attribute writer method checking allowed values (enum).
158
158
  def disconnect_type=(disconnect_type)
159
- allowed_values = ["ENDPOINT", "CLIENT", "SYSTEM", "TIMEOUT", "TRANSFER", "TRANSFER_CONFERENCE", "TRANSFER_CONSULT", "TRANSFER_FORWARD", "TRANSFER_NOANSWER", "TRANSFER_NOTAVAILABLE", "TRANSPORT_FAILURE", "ERROR", "PEER", "OTHER", "SPAM"]
159
+ allowed_values = ["endpoint", "client", "system", "timeout", "transfer", "transfer.conference", "transfer.consult", "transfer.forward", "transfer.noanswer", "transfer.notavailable", "transport.failure", "error", "peer", "other", "spam"]
160
160
  if disconnect_type && !allowed_values.include?(disconnect_type)
161
161
  fail "invalid value for 'disconnect_type', must be one of #{allowed_values}"
162
162
  end
@@ -0,0 +1,303 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@inin.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class Script
21
+ # The globally unique identifier for the object.
22
+ attr_accessor :id
23
+
24
+ attr_accessor :name
25
+
26
+ attr_accessor :version_id
27
+
28
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
29
+ attr_accessor :created_date
30
+
31
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
+ attr_accessor :modified_date
33
+
34
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
+ attr_accessor :published_date
36
+
37
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
38
+ attr_accessor :version_date
39
+
40
+ attr_accessor :start_page_id
41
+
42
+ attr_accessor :start_page_name
43
+
44
+ attr_accessor :features
45
+
46
+ attr_accessor :variables
47
+
48
+ attr_accessor :custom_actions
49
+
50
+ attr_accessor :pages
51
+
52
+ # The URI for this object
53
+ attr_accessor :self_uri
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+
59
+ :'id' => :'id',
60
+
61
+ :'name' => :'name',
62
+
63
+ :'version_id' => :'versionId',
64
+
65
+ :'created_date' => :'createdDate',
66
+
67
+ :'modified_date' => :'modifiedDate',
68
+
69
+ :'published_date' => :'publishedDate',
70
+
71
+ :'version_date' => :'versionDate',
72
+
73
+ :'start_page_id' => :'startPageId',
74
+
75
+ :'start_page_name' => :'startPageName',
76
+
77
+ :'features' => :'features',
78
+
79
+ :'variables' => :'variables',
80
+
81
+ :'custom_actions' => :'customActions',
82
+
83
+ :'pages' => :'pages',
84
+
85
+ :'self_uri' => :'selfUri'
86
+
87
+ }
88
+ end
89
+
90
+ # Attribute type mapping.
91
+ def self.swagger_types
92
+ {
93
+ :'id' => :'String',
94
+ :'name' => :'String',
95
+ :'version_id' => :'String',
96
+ :'created_date' => :'DateTime',
97
+ :'modified_date' => :'DateTime',
98
+ :'published_date' => :'DateTime',
99
+ :'version_date' => :'DateTime',
100
+ :'start_page_id' => :'String',
101
+ :'start_page_name' => :'String',
102
+ :'features' => :'Object',
103
+ :'variables' => :'Object',
104
+ :'custom_actions' => :'Object',
105
+ :'pages' => :'Array<Page>',
106
+ :'self_uri' => :'String'
107
+
108
+ }
109
+ end
110
+
111
+ def initialize(attributes = {})
112
+ return unless attributes.is_a?(Hash)
113
+
114
+ # convert string to symbol for hash key
115
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
116
+
117
+
118
+ if attributes[:'id']
119
+ self.id = attributes[:'id']
120
+ end
121
+
122
+ if attributes[:'name']
123
+ self.name = attributes[:'name']
124
+ end
125
+
126
+ if attributes[:'versionId']
127
+ self.version_id = attributes[:'versionId']
128
+ end
129
+
130
+ if attributes[:'createdDate']
131
+ self.created_date = attributes[:'createdDate']
132
+ end
133
+
134
+ if attributes[:'modifiedDate']
135
+ self.modified_date = attributes[:'modifiedDate']
136
+ end
137
+
138
+ if attributes[:'publishedDate']
139
+ self.published_date = attributes[:'publishedDate']
140
+ end
141
+
142
+ if attributes[:'versionDate']
143
+ self.version_date = attributes[:'versionDate']
144
+ end
145
+
146
+ if attributes[:'startPageId']
147
+ self.start_page_id = attributes[:'startPageId']
148
+ end
149
+
150
+ if attributes[:'startPageName']
151
+ self.start_page_name = attributes[:'startPageName']
152
+ end
153
+
154
+ if attributes[:'features']
155
+ self.features = attributes[:'features']
156
+ end
157
+
158
+ if attributes[:'variables']
159
+ self.variables = attributes[:'variables']
160
+ end
161
+
162
+ if attributes[:'customActions']
163
+ self.custom_actions = attributes[:'customActions']
164
+ end
165
+
166
+ if attributes[:'pages']
167
+ if (value = attributes[:'pages']).is_a?(Array)
168
+ self.pages = value
169
+ end
170
+ end
171
+
172
+ if attributes[:'selfUri']
173
+ self.self_uri = attributes[:'selfUri']
174
+ end
175
+
176
+ end
177
+
178
+ # Check equality by comparing each attribute.
179
+ def ==(o)
180
+ return true if self.equal?(o)
181
+ self.class == o.class &&
182
+ id == o.id &&
183
+ name == o.name &&
184
+ version_id == o.version_id &&
185
+ created_date == o.created_date &&
186
+ modified_date == o.modified_date &&
187
+ published_date == o.published_date &&
188
+ version_date == o.version_date &&
189
+ start_page_id == o.start_page_id &&
190
+ start_page_name == o.start_page_name &&
191
+ features == o.features &&
192
+ variables == o.variables &&
193
+ custom_actions == o.custom_actions &&
194
+ pages == o.pages &&
195
+ self_uri == o.self_uri
196
+ end
197
+
198
+ # @see the `==` method
199
+ def eql?(o)
200
+ self == o
201
+ end
202
+
203
+ # Calculate hash code according to all attributes.
204
+ def hash
205
+ [id, name, version_id, created_date, modified_date, published_date, version_date, start_page_id, start_page_name, features, variables, custom_actions, pages, self_uri].hash
206
+ end
207
+
208
+ # build the object from hash
209
+ def build_from_hash(attributes)
210
+ return nil unless attributes.is_a?(Hash)
211
+ self.class.swagger_types.each_pair do |key, type|
212
+ if type =~ /^Array<(.*)>/i
213
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
214
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
215
+ else
216
+ #TODO show warning in debug mode
217
+ end
218
+ elsif !attributes[self.class.attribute_map[key]].nil?
219
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
220
+ else
221
+ # data not found in attributes(hash), not an issue as the data can be optional
222
+ end
223
+ end
224
+
225
+ self
226
+ end
227
+
228
+ def _deserialize(type, value)
229
+ case type.to_sym
230
+ when :DateTime
231
+ DateTime.parse(value)
232
+ when :Date
233
+ Date.parse(value)
234
+ when :String
235
+ value.to_s
236
+ when :Integer
237
+ value.to_i
238
+ when :Float
239
+ value.to_f
240
+ when :BOOLEAN
241
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
242
+ true
243
+ else
244
+ false
245
+ end
246
+ when :Object
247
+ # generic object (usually a Hash), return directly
248
+ value
249
+ when /\AArray<(?<inner_type>.+)>\z/
250
+ inner_type = Regexp.last_match[:inner_type]
251
+ value.map { |v| _deserialize(inner_type, v) }
252
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
253
+ k_type = Regexp.last_match[:k_type]
254
+ v_type = Regexp.last_match[:v_type]
255
+ {}.tap do |hash|
256
+ value.each do |k, v|
257
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
258
+ end
259
+ end
260
+ else # model
261
+ _model = Object.const_get("PureCloud").const_get(type).new
262
+ _model.build_from_hash(value)
263
+ end
264
+ end
265
+
266
+ def to_s
267
+ to_hash.to_s
268
+ end
269
+
270
+ # to_body is an alias to to_body (backward compatibility))
271
+ def to_body
272
+ to_hash
273
+ end
274
+
275
+ # return the object in the form of hash
276
+ def to_hash
277
+ hash = {}
278
+ self.class.attribute_map.each_pair do |attr, param|
279
+ value = self.send(attr)
280
+ next if value.nil?
281
+ hash[param] = _to_hash(value)
282
+ end
283
+ hash
284
+ end
285
+
286
+ # Method to output non-array value in the form of hash
287
+ # For object, use to_hash. Otherwise, just return the value
288
+ def _to_hash(value)
289
+ if value.is_a?(Array)
290
+ value.compact.map{ |v| _to_hash(v) }
291
+ elsif value.is_a?(Hash)
292
+ {}.tap do |hash|
293
+ value.each { |k, v| hash[k] = _to_hash(v) }
294
+ end
295
+ elsif value.respond_to? :to_hash
296
+ value.to_hash
297
+ else
298
+ value
299
+ end
300
+ end
301
+
302
+ end
303
+ end