purecloud 0.67.1 → 0.68.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 (424) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/bin/notificationMappings.json +4 -4
  4. data/config-ruby.json +1 -1
  5. data/doc_out/ActivityCode.html.md +20 -0
  6. data/doc_out/ActivityCodeContainer.html.md +13 -0
  7. data/doc_out/AgentActivityEntityListing.html.md +2 -2
  8. data/doc_out/AlertingApi.html.md +137 -35
  9. data/doc_out/AnalyticsApi.html.md +89 -23
  10. data/doc_out/AttemptLimitsEntityListing.html.md +2 -2
  11. data/doc_out/AttemptLimitsNotification.html.md +2 -1
  12. data/doc_out/AttributeEntityListing.html.md +2 -2
  13. data/doc_out/AttributesApi.html.md +25 -7
  14. data/doc_out/AuthorizationApi.html.md +69 -18
  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/CallableTimeSetNotification.html.md +1 -1
  21. data/doc_out/CallbackConversationEntityListing.html.md +2 -2
  22. data/doc_out/CallbackConversationNotificationCallbackMediaParticipant.html.md +1 -1
  23. data/doc_out/CallbackConversationNotificationParticipants.html.md +1 -1
  24. data/doc_out/CampaignEntityListing.html.md +2 -2
  25. data/doc_out/CampaignNotification.html.md +2 -2
  26. data/doc_out/{CampaignNotificationError.html.md → CampaignNotificationRestErrorDetail.html.md} +2 -2
  27. data/doc_out/CampaignProgressNotification.html.md +1 -1
  28. data/doc_out/CampaignRuleEntityListing.html.md +2 -2
  29. data/doc_out/CampaignRuleNotification.html.md +1 -1
  30. data/doc_out/CampaignRuleNotificationCampaignRuleActionEntities.html.md +2 -2
  31. data/doc_out/CampaignRuleNotificationCampaignRuleEntities.html.md +2 -3
  32. data/doc_out/CampaignRuleNotificationUriReference.html.md +14 -0
  33. data/doc_out/CampaignScheduleNotification.html.md +2 -2
  34. data/doc_out/CampaignSequenceEntityListing.html.md +2 -2
  35. data/doc_out/CampaignSequenceNotification.html.md +2 -2
  36. data/doc_out/CertificateAuthorityEntityListing.html.md +2 -2
  37. data/doc_out/ChannelEntityListing.html.md +2 -2
  38. data/doc_out/ChatConversationEntityListing.html.md +2 -2
  39. data/doc_out/ChatConversationNotificationChatMediaParticipant.html.md +1 -1
  40. data/doc_out/ChatConversationNotificationParticipants.html.md +1 -1
  41. data/doc_out/CobrowseConversationEntityListing.html.md +2 -2
  42. data/doc_out/CobrowseConversationNotificationCobrowseMediaParticipant.html.md +1 -1
  43. data/doc_out/CobrowseConversationNotificationParticipants.html.md +1 -1
  44. data/doc_out/CommandStatusEntityListing.html.md +2 -2
  45. data/doc_out/ContactListEntityListing.html.md +2 -2
  46. data/doc_out/ContactListNotification.html.md +2 -2
  47. data/doc_out/{ContactListNotificationPhoneColumn_.html.md → ContactListNotificationContactPhoneNumberColumn.html.md} +2 -2
  48. data/doc_out/ContentManagementApi.html.md +153 -39
  49. data/doc_out/ConversationEntityListing.html.md +2 -2
  50. data/doc_out/ConversationsApi.html.md +421 -76
  51. data/doc_out/CreateEmailRequest.html.md +23 -0
  52. data/doc_out/CreateWebChatRequest.html.md +19 -0
  53. data/doc_out/DIDEntityListing.html.md +2 -2
  54. data/doc_out/DIDPoolEntityListing.html.md +2 -2
  55. data/doc_out/DecisionsFileMetadataEntityListing.html.md +2 -2
  56. data/doc_out/DncListEntityListing.html.md +2 -2
  57. data/doc_out/DncListNotification.html.md +1 -1
  58. data/doc_out/DocumentAuditEntityListing.html.md +2 -2
  59. data/doc_out/DocumentDataV2Notification.html.md +26 -0
  60. data/doc_out/{RecordingDataNotificationUserData.html.md → DocumentDataV2NotificationCreatedBy.html.md} +2 -2
  61. data/doc_out/DocumentDataV2NotificationLockData.html.md +15 -0
  62. data/doc_out/DocumentDataV2NotificationLockInfo.html.md +15 -0
  63. data/doc_out/{DocumentDataNotificationUserData.html.md → DocumentDataV2NotificationUserData.html.md} +2 -2
  64. data/doc_out/{DocumentDataNotificationWorkspace.html.md → DocumentDataV2NotificationWorkspace.html.md} +2 -2
  65. data/doc_out/{DocumentDataNotificationWorkspaceData.html.md → DocumentDataV2NotificationWorkspaceData.html.md} +2 -2
  66. data/doc_out/DocumentEntityListing.html.md +2 -2
  67. data/doc_out/DomainEdgeSoftwareVersionDtoEntityListing.html.md +2 -2
  68. data/doc_out/DomainEntityListing.html.md +2 -2
  69. data/doc_out/DomainEntityListingEvaluationForm.html.md +2 -2
  70. data/doc_out/DomainEntityListingQueryResult.html.md +2 -2
  71. data/doc_out/DomainOrganizationRole.html.md +1 -1
  72. data/doc_out/DomainOrganizationRoleCreate.html.md +1 -1
  73. data/doc_out/DomainOrganizationRoleUpdate.html.md +1 -1
  74. data/doc_out/EdgeEntityListing.html.md +2 -2
  75. data/doc_out/EdgeGroupEntityListing.html.md +2 -2
  76. data/doc_out/EdgeLineEntityListing.html.md +2 -2
  77. data/doc_out/EdgeRebootParameters.html.md +13 -0
  78. data/doc_out/EmailConversationEntityListing.html.md +2 -2
  79. data/doc_out/EmailConversationNotificationEmailMediaParticipant.html.md +1 -1
  80. data/doc_out/EmailConversationNotificationParticipants.html.md +1 -1
  81. data/doc_out/EmailMessageListing.html.md +2 -2
  82. data/doc_out/EncryptionKeyEntityListing.html.md +2 -2
  83. data/doc_out/EndpointEntityListing.html.md +2 -2
  84. data/doc_out/Entry.html.md +2 -2
  85. data/doc_out/EntryFeatureBoolean.html.md +14 -0
  86. data/doc_out/EvaluationEntityListing.html.md +2 -2
  87. data/doc_out/EvaluationFormEntityListing.html.md +2 -2
  88. data/doc_out/EvaluatorActivityEntityListing.html.md +2 -2
  89. data/doc_out/ExtensionEntityListing.html.md +2 -2
  90. data/doc_out/ExtensionPoolEntityListing.html.md +2 -2
  91. data/doc_out/FaxApi.html.md +25 -7
  92. data/doc_out/FaxDataV2Notification.html.md +29 -0
  93. data/doc_out/FaxDataV2NotificationLockData.html.md +15 -0
  94. data/doc_out/FaxDataV2NotificationLockInfo.html.md +15 -0
  95. data/doc_out/{FaxDataNotificationUserData.html.md → FaxDataV2NotificationUserData.html.md} +2 -2
  96. data/doc_out/{FaxDataNotificationWorkspaceData.html.md → FaxDataV2NotificationWorkspaceData.html.md} +2 -2
  97. data/doc_out/FaxDocumentEntityListing.html.md +2 -2
  98. data/doc_out/GeolocationApi.html.md +17 -5
  99. data/doc_out/GreetingListing.html.md +2 -2
  100. data/doc_out/GreetingsApi.html.md +65 -17
  101. data/doc_out/GroupEntityListing.html.md +2 -2
  102. data/doc_out/GroupsApi.html.md +45 -12
  103. data/doc_out/HeartBeatAlertContainer.html.md +2 -2
  104. data/doc_out/HeartBeatRuleContainer.html.md +2 -2
  105. data/doc_out/IdentityProviderApi.html.md +89 -23
  106. data/doc_out/InboundDomainEntityListing.html.md +2 -2
  107. data/doc_out/InboundRouteEntityListing.html.md +2 -2
  108. data/doc_out/InteractionStatsAlertContainer.html.md +2 -2
  109. data/doc_out/InteractionStatsRuleContainer.html.md +2 -2
  110. data/doc_out/JsonNode.html.md +2 -2
  111. data/doc_out/KeywordSetEntityListing.html.md +2 -2
  112. data/doc_out/LanguageEntityListing.html.md +2 -2
  113. data/doc_out/LanguagesApi.html.md +41 -11
  114. data/doc_out/LibraryEntityListing.html.md +2 -2
  115. data/doc_out/LineBaseEntityListing.html.md +2 -2
  116. data/doc_out/LineEntityListing.html.md +2 -2
  117. data/doc_out/LocalEncryptionConfigurationListing.html.md +2 -2
  118. data/doc_out/LocationsApi.html.md +17 -5
  119. data/doc_out/LogicalInterfaceEntityListing.html.md +2 -2
  120. data/doc_out/NotificationsApi.html.md +29 -8
  121. data/doc_out/OAuthApi.html.md +25 -7
  122. data/doc_out/OAuthClientEntityListing.html.md +2 -2
  123. data/doc_out/OAuthProviderEntityListing.html.md +2 -2
  124. data/doc_out/Organization.html.md +1 -0
  125. data/doc_out/OrganizationApi.html.md +70 -3
  126. data/doc_out/OrganizationPresenceEntityListing.html.md +2 -2
  127. data/doc_out/OrganizationRoleEntityListing.html.md +2 -2
  128. data/doc_out/OrphanRecordingListing.html.md +2 -2
  129. data/doc_out/OutOfOfficeNotification.html.md +1 -1
  130. data/doc_out/OutboundApi.html.md +323 -95
  131. data/doc_out/OutboundRouteBaseEntityListing.html.md +2 -2
  132. data/doc_out/OutboundRouteEntityListing.html.md +2 -2
  133. data/doc_out/PermissionCollectionEntityListing.html.md +2 -2
  134. data/doc_out/PhoneBaseEntityListing.html.md +2 -2
  135. data/doc_out/PhoneEntityListing.html.md +2 -2
  136. data/doc_out/PhoneMetaBaseEntityListing.html.md +2 -2
  137. data/doc_out/PhysicalInterfaceEntityListing.html.md +2 -2
  138. data/doc_out/PolicyEntityListing.html.md +2 -2
  139. data/doc_out/PresenceApi.html.md +33 -9
  140. data/doc_out/QualityApi.html.md +128 -33
  141. data/doc_out/QualityAuditPage.html.md +2 -2
  142. data/doc_out/QueueEntityListing.html.md +2 -2
  143. data/doc_out/QueueMemberEntityListing.html.md +2 -2
  144. data/doc_out/RecordingApi.html.md +133 -34
  145. data/doc_out/RecordingDataV2Notification.html.md +29 -0
  146. data/doc_out/{RecordingDataNotificationConversationData.html.md → RecordingDataV2NotificationConversationData.html.md} +2 -2
  147. data/doc_out/RecordingDataV2NotificationLockData.html.md +15 -0
  148. data/doc_out/RecordingDataV2NotificationLockInfo.html.md +15 -0
  149. data/doc_out/{DocumentDataNotificationCreatedBy.html.md → RecordingDataV2NotificationUserData.html.md} +2 -2
  150. data/doc_out/{RecordingDataNotificationWorkspaceData.html.md → RecordingDataV2NotificationWorkspaceData.html.md} +2 -2
  151. data/doc_out/ReportMetaDataEntityListing.html.md +2 -2
  152. data/doc_out/ReportRunEntryEntityDomainListing.html.md +2 -2
  153. data/doc_out/ReportScheduleEntityListing.html.md +2 -2
  154. data/doc_out/ResponseEntityList.html.md +2 -2
  155. data/doc_out/ResponseEntityListing.html.md +2 -2
  156. data/doc_out/ResponseManagementApi.html.md +45 -12
  157. data/doc_out/ResponseSetEntityListing.html.md +2 -2
  158. data/doc_out/ResponseSetNotification.html.md +1 -1
  159. data/doc_out/RoutingApi.html.md +193 -49
  160. data/doc_out/RoutingStatusAlertContainer.html.md +2 -2
  161. data/doc_out/RoutingStatusRuleContainer.html.md +2 -2
  162. data/doc_out/RuleSetEntityListing.html.md +2 -2
  163. data/doc_out/RuleSetNotification.html.md +1 -1
  164. data/doc_out/RuleSetNotificationCondition.html.md +1 -1
  165. data/doc_out/RuleSetNotificationConditions.html.md +1 -1
  166. data/doc_out/SchemaCategoryEntityListing.html.md +2 -2
  167. data/doc_out/SchemaReferenceEntityListing.html.md +2 -2
  168. data/doc_out/ScreenRecordingSessionListing.html.md +2 -2
  169. data/doc_out/ScreenShareConversationNotificationParticipants.html.md +1 -1
  170. data/doc_out/ScreenShareConversationNotificationScreenShareMediaParticipant.html.md +1 -1
  171. data/doc_out/ScriptEntityListing.html.md +2 -2
  172. data/doc_out/ScriptsApi.html.md +37 -10
  173. data/doc_out/SearchApi.html.md +49 -13
  174. data/doc_out/SecurityProfileEntityListing.html.md +2 -2
  175. data/doc_out/SequenceScheduleNotification.html.md +2 -2
  176. data/doc_out/ShareEntityListing.html.md +2 -2
  177. data/doc_out/SiteEntityListing.html.md +2 -2
  178. data/doc_out/SkillEntityListing.html.md +2 -2
  179. data/doc_out/SocialConversationNotificationParticipants.html.md +1 -1
  180. data/doc_out/SocialConversationNotificationSocialMediaParticipant.html.md +1 -1
  181. data/doc_out/StationEntityListing.html.md +2 -2
  182. data/doc_out/StationsApi.html.md +13 -4
  183. data/doc_out/SuggestApi.html.md +17 -5
  184. data/doc_out/TagValueEntityListing.html.md +2 -2
  185. data/doc_out/TelephonyProvidersEdgeApi.html.md +479 -121
  186. data/doc_out/TimeZoneEntityListing.html.md +2 -2
  187. data/doc_out/TokensApi.html.md +5 -2
  188. data/doc_out/TrunkBaseEntityListing.html.md +2 -2
  189. data/doc_out/TrunkEntityListing.html.md +2 -2
  190. data/doc_out/TrunkMetabaseEntityListing.html.md +2 -2
  191. data/doc_out/UserEntityListing.html.md +2 -2
  192. data/doc_out/UserListScheduleRequestBody.html.md +15 -0
  193. data/doc_out/UserPresenceAlertContainer.html.md +2 -2
  194. data/doc_out/UserPresenceRuleContainer.html.md +2 -2
  195. data/doc_out/UserQueueEntityListing.html.md +2 -2
  196. data/doc_out/UserRecordingEntityListing.html.md +2 -2
  197. data/doc_out/UserRecordingsApi.html.md +25 -7
  198. data/doc_out/UserSchedule.html.md +14 -0
  199. data/doc_out/UserScheduleActivity.html.md +18 -0
  200. data/doc_out/UserScheduleContainer.html.md +14 -0
  201. data/doc_out/UserScheduleFullDayTimeOffMarker.html.md +17 -0
  202. data/doc_out/UserScheduleShift.html.md +15 -0
  203. data/doc_out/UserSkillEntityListing.html.md +2 -2
  204. data/doc_out/UsersApi.html.md +169 -43
  205. data/doc_out/UtilitiesApi.html.md +13 -4
  206. data/doc_out/VideoConversationNotificationParticipants.html.md +1 -1
  207. data/doc_out/VideoConversationNotificationVideoMediaParticipant.html.md +1 -1
  208. data/doc_out/VoicemailApi.html.md +89 -23
  209. data/doc_out/VoicemailMessageEntityListing.html.md +2 -2
  210. data/doc_out/WfmUserEntityListing.html.md +13 -0
  211. data/doc_out/WorkforceManagementApi.html.md +227 -13
  212. data/doc_out/WorkspaceEntityListing.html.md +2 -2
  213. data/doc_out/WorkspaceMemberEntityListing.html.md +2 -2
  214. data/doc_out/WrapUpCodeMappingNotification.html.md +0 -1
  215. data/doc_out/WrapupCodeEntityListing.html.md +2 -2
  216. data/doc_out/index.html.md +3 -3
  217. data/lib/purecloud.rb +34 -20
  218. data/lib/purecloud/api/conversations_api.rb +120 -0
  219. data/lib/purecloud/api/organization_api.rb +57 -0
  220. data/lib/purecloud/api/outbound_api.rb +9 -9
  221. data/lib/purecloud/api/quality_api.rb +7 -0
  222. data/lib/purecloud/api/telephony_providers_edge_api.rb +3 -1
  223. data/lib/purecloud/api/workforce_management_api.rb +185 -3
  224. data/lib/purecloud/api_client.rb +1 -1
  225. data/lib/purecloud/models/activity_code.rb +253 -0
  226. data/lib/purecloud/models/activity_code_container.rb +169 -0
  227. data/lib/purecloud/models/agent_activity_entity_listing.rb +17 -17
  228. data/lib/purecloud/models/attempt_limits_entity_listing.rb +17 -17
  229. data/lib/purecloud/models/attempt_limits_notification.rb +24 -14
  230. data/lib/purecloud/models/attribute_entity_listing.rb +17 -17
  231. data/lib/purecloud/models/calibration_entity_listing.rb +17 -17
  232. data/lib/purecloud/models/call_conversation_entity_listing.rb +17 -17
  233. data/lib/purecloud/models/call_conversation_notification_call_media_participant.rb +1 -1
  234. data/lib/purecloud/models/call_conversation_notification_participants.rb +1 -1
  235. data/lib/purecloud/models/callable_time_set_entity_listing.rb +17 -17
  236. data/lib/purecloud/models/callable_time_set_notification.rb +13 -13
  237. data/lib/purecloud/models/callback_conversation_entity_listing.rb +17 -17
  238. data/lib/purecloud/models/callback_conversation_notification_callback_media_participant.rb +1 -1
  239. data/lib/purecloud/models/callback_conversation_notification_participants.rb +1 -1
  240. data/lib/purecloud/models/campaign_entity_listing.rb +17 -17
  241. data/lib/purecloud/models/campaign_notification.rb +15 -15
  242. data/lib/purecloud/models/{campaign_notification_error.rb → campaign_notification_rest_error_detail.rb} +1 -1
  243. data/lib/purecloud/models/campaign_progress_notification.rb +1 -1
  244. data/lib/purecloud/models/campaign_rule_entity_listing.rb +17 -17
  245. data/lib/purecloud/models/campaign_rule_notification.rb +14 -14
  246. data/lib/purecloud/models/campaign_rule_notification_campaign_rule_action_entities.rb +2 -2
  247. data/lib/purecloud/models/campaign_rule_notification_campaign_rule_entities.rb +3 -13
  248. data/lib/purecloud/models/campaign_rule_notification_uri_reference.rb +175 -0
  249. data/lib/purecloud/models/campaign_schedule_notification.rb +14 -14
  250. data/lib/purecloud/models/campaign_sequence_entity_listing.rb +17 -17
  251. data/lib/purecloud/models/campaign_sequence_notification.rb +15 -15
  252. data/lib/purecloud/models/certificate_authority_entity_listing.rb +17 -17
  253. data/lib/purecloud/models/channel_entity_listing.rb +17 -17
  254. data/lib/purecloud/models/chat_conversation_entity_listing.rb +17 -17
  255. data/lib/purecloud/models/chat_conversation_notification_chat_media_participant.rb +1 -1
  256. data/lib/purecloud/models/chat_conversation_notification_participants.rb +1 -1
  257. data/lib/purecloud/models/cobrowse_conversation_entity_listing.rb +17 -17
  258. data/lib/purecloud/models/cobrowse_conversation_notification_cobrowse_media_participant.rb +1 -1
  259. data/lib/purecloud/models/cobrowse_conversation_notification_participants.rb +1 -1
  260. data/lib/purecloud/models/command_status_entity_listing.rb +17 -17
  261. data/lib/purecloud/models/contact_list_entity_listing.rb +17 -17
  262. data/lib/purecloud/models/contact_list_notification.rb +14 -14
  263. data/lib/purecloud/models/{contact_list_notification_phone_column_.rb → contact_list_notification_contact_phone_number_column.rb} +1 -1
  264. data/lib/purecloud/models/contact_list_notification_import_status.rb +1 -1
  265. data/lib/purecloud/models/conversation_entity_listing.rb +17 -17
  266. data/lib/purecloud/models/create_email_request.rb +280 -0
  267. data/lib/purecloud/models/create_web_chat_request.rb +236 -0
  268. data/lib/purecloud/models/decisions_file_metadata_entity_listing.rb +17 -17
  269. data/lib/purecloud/models/did_entity_listing.rb +17 -17
  270. data/lib/purecloud/models/did_pool_entity_listing.rb +17 -17
  271. data/lib/purecloud/models/dnc_list_entity_listing.rb +17 -17
  272. data/lib/purecloud/models/dnc_list_notification.rb +14 -14
  273. data/lib/purecloud/models/dnc_list_notification_import_status.rb +1 -1
  274. data/lib/purecloud/models/document_audit_entity_listing.rb +17 -17
  275. data/lib/purecloud/models/{document_data_notification.rb → document_data_v2_notification.rb} +9 -29
  276. data/lib/purecloud/models/{recording_data_notification_user_data.rb → document_data_v2_notification_created_by.rb} +1 -1
  277. data/lib/purecloud/models/{document_data_notification_lock_info.rb → document_data_v2_notification_lock_data.rb} +4 -4
  278. data/lib/purecloud/models/{document_data_notification_lock_data.rb → document_data_v2_notification_lock_info.rb} +4 -4
  279. data/lib/purecloud/models/{document_data_notification_user_data.rb → document_data_v2_notification_user_data.rb} +1 -1
  280. data/lib/purecloud/models/{document_data_notification_workspace.rb → document_data_v2_notification_workspace.rb} +1 -1
  281. data/lib/purecloud/models/{document_data_notification_workspace_data.rb → document_data_v2_notification_workspace_data.rb} +1 -1
  282. data/lib/purecloud/models/document_entity_listing.rb +17 -17
  283. data/lib/purecloud/models/domain_edge_software_version_dto_entity_listing.rb +17 -17
  284. data/lib/purecloud/models/domain_entity_listing.rb +17 -17
  285. data/lib/purecloud/models/domain_entity_listing_evaluation_form.rb +17 -17
  286. data/lib/purecloud/models/domain_entity_listing_query_result.rb +17 -17
  287. data/lib/purecloud/models/domain_organization_role.rb +11 -11
  288. data/lib/purecloud/models/domain_organization_role_create.rb +11 -11
  289. data/lib/purecloud/models/domain_organization_role_update.rb +11 -11
  290. data/lib/purecloud/models/edge_entity_listing.rb +17 -17
  291. data/lib/purecloud/models/edge_group_entity_listing.rb +17 -17
  292. data/lib/purecloud/models/edge_line_entity_listing.rb +17 -17
  293. data/lib/purecloud/models/edge_reboot_parameters.rb +166 -0
  294. data/lib/purecloud/models/email_conversation_entity_listing.rb +17 -17
  295. data/lib/purecloud/models/email_conversation_notification_email_media_participant.rb +1 -1
  296. data/lib/purecloud/models/email_conversation_notification_participants.rb +1 -1
  297. data/lib/purecloud/models/email_message_listing.rb +17 -17
  298. data/lib/purecloud/models/encryption_key_entity_listing.rb +17 -17
  299. data/lib/purecloud/models/endpoint_entity_listing.rb +17 -17
  300. data/lib/purecloud/models/entry.rb +8 -10
  301. data/lib/purecloud/models/entry_feature_boolean.rb +184 -0
  302. data/lib/purecloud/models/evaluation_entity_listing.rb +17 -17
  303. data/lib/purecloud/models/evaluation_form_entity_listing.rb +17 -17
  304. data/lib/purecloud/models/evaluator_activity_entity_listing.rb +17 -17
  305. data/lib/purecloud/models/extension_entity_listing.rb +17 -17
  306. data/lib/purecloud/models/extension_pool_entity_listing.rb +17 -17
  307. data/lib/purecloud/models/{fax_data_notification.rb → fax_data_v2_notification.rb} +9 -29
  308. data/lib/purecloud/models/{fax_data_notification_lock_info.rb → fax_data_v2_notification_lock_data.rb} +4 -4
  309. data/lib/purecloud/models/{fax_data_notification_lock_data.rb → fax_data_v2_notification_lock_info.rb} +4 -4
  310. data/lib/purecloud/models/{fax_data_notification_user_data.rb → fax_data_v2_notification_user_data.rb} +1 -1
  311. data/lib/purecloud/models/{fax_data_notification_workspace_data.rb → fax_data_v2_notification_workspace_data.rb} +1 -1
  312. data/lib/purecloud/models/fax_document_entity_listing.rb +17 -17
  313. data/lib/purecloud/models/greeting_listing.rb +17 -17
  314. data/lib/purecloud/models/group_entity_listing.rb +17 -17
  315. data/lib/purecloud/models/heart_beat_alert_container.rb +17 -17
  316. data/lib/purecloud/models/heart_beat_rule_container.rb +17 -17
  317. data/lib/purecloud/models/import_status_notification.rb +1 -1
  318. data/lib/purecloud/models/inbound_domain_entity_listing.rb +17 -17
  319. data/lib/purecloud/models/inbound_route_entity_listing.rb +17 -17
  320. data/lib/purecloud/models/interaction_stats_alert_container.rb +17 -17
  321. data/lib/purecloud/models/interaction_stats_rule_container.rb +17 -17
  322. data/lib/purecloud/models/json_node.rb +24 -24
  323. data/lib/purecloud/models/keyword_set_entity_listing.rb +17 -17
  324. data/lib/purecloud/models/language_entity_listing.rb +17 -17
  325. data/lib/purecloud/models/library_entity_listing.rb +17 -17
  326. data/lib/purecloud/models/line_base_entity_listing.rb +17 -17
  327. data/lib/purecloud/models/line_entity_listing.rb +17 -17
  328. data/lib/purecloud/models/local_encryption_configuration_listing.rb +17 -17
  329. data/lib/purecloud/models/logical_interface_entity_listing.rb +17 -17
  330. data/lib/purecloud/models/o_auth_client_entity_listing.rb +17 -17
  331. data/lib/purecloud/models/o_auth_provider_entity_listing.rb +17 -17
  332. data/lib/purecloud/models/organization.rb +17 -4
  333. data/lib/purecloud/models/organization_presence_entity_listing.rb +17 -17
  334. data/lib/purecloud/models/organization_role_entity_listing.rb +17 -17
  335. data/lib/purecloud/models/orphan_recording_listing.rb +17 -17
  336. data/lib/purecloud/models/out_of_office_notification.rb +1 -1
  337. data/lib/purecloud/models/outbound_route_base_entity_listing.rb +17 -17
  338. data/lib/purecloud/models/outbound_route_entity_listing.rb +17 -17
  339. data/lib/purecloud/models/permission_collection_entity_listing.rb +17 -17
  340. data/lib/purecloud/models/phone_base_entity_listing.rb +17 -17
  341. data/lib/purecloud/models/phone_entity_listing.rb +17 -17
  342. data/lib/purecloud/models/phone_meta_base_entity_listing.rb +17 -17
  343. data/lib/purecloud/models/physical_interface_entity_listing.rb +17 -17
  344. data/lib/purecloud/models/policy_entity_listing.rb +17 -17
  345. data/lib/purecloud/models/quality_audit_page.rb +17 -17
  346. data/lib/purecloud/models/queue_entity_listing.rb +17 -17
  347. data/lib/purecloud/models/queue_member_entity_listing.rb +17 -17
  348. data/lib/purecloud/models/{recording_data_notification.rb → recording_data_v2_notification.rb} +10 -30
  349. data/lib/purecloud/models/{recording_data_notification_conversation_data.rb → recording_data_v2_notification_conversation_data.rb} +1 -1
  350. data/lib/purecloud/models/recording_data_v2_notification_lock_data.rb +185 -0
  351. data/lib/purecloud/models/recording_data_v2_notification_lock_info.rb +185 -0
  352. data/lib/purecloud/models/{document_data_notification_created_by.rb → recording_data_v2_notification_user_data.rb} +1 -1
  353. data/lib/purecloud/models/{recording_data_notification_workspace_data.rb → recording_data_v2_notification_workspace_data.rb} +1 -1
  354. data/lib/purecloud/models/report_meta_data_entity_listing.rb +17 -17
  355. data/lib/purecloud/models/report_run_entry_entity_domain_listing.rb +17 -17
  356. data/lib/purecloud/models/report_schedule_entity_listing.rb +17 -17
  357. data/lib/purecloud/models/response_entity_list.rb +17 -17
  358. data/lib/purecloud/models/response_entity_listing.rb +17 -17
  359. data/lib/purecloud/models/response_set_entity_listing.rb +17 -17
  360. data/lib/purecloud/models/response_set_notification.rb +13 -13
  361. data/lib/purecloud/models/routing_status_alert_container.rb +17 -17
  362. data/lib/purecloud/models/routing_status_rule_container.rb +17 -17
  363. data/lib/purecloud/models/rule_set_entity_listing.rb +17 -17
  364. data/lib/purecloud/models/rule_set_notification.rb +1 -1
  365. data/lib/purecloud/models/rule_set_notification_condition.rb +11 -11
  366. data/lib/purecloud/models/rule_set_notification_conditions.rb +18 -18
  367. data/lib/purecloud/models/rule_set_notification_rule.rb +9 -0
  368. data/lib/purecloud/models/rule_set_notification_rules.rb +9 -0
  369. data/lib/purecloud/models/schema_category_entity_listing.rb +17 -17
  370. data/lib/purecloud/models/schema_reference_entity_listing.rb +17 -17
  371. data/lib/purecloud/models/screen_recording_session_listing.rb +17 -17
  372. data/lib/purecloud/models/screen_share_conversation_notification_participants.rb +1 -1
  373. data/lib/purecloud/models/screen_share_conversation_notification_screen_share_media_participant.rb +1 -1
  374. data/lib/purecloud/models/script_entity_listing.rb +17 -17
  375. data/lib/purecloud/models/security_profile_entity_listing.rb +17 -17
  376. data/lib/purecloud/models/sequence_schedule_notification.rb +14 -14
  377. data/lib/purecloud/models/share_entity_listing.rb +17 -17
  378. data/lib/purecloud/models/site_entity_listing.rb +17 -17
  379. data/lib/purecloud/models/skill_entity_listing.rb +17 -17
  380. data/lib/purecloud/models/social_conversation_notification_participants.rb +1 -1
  381. data/lib/purecloud/models/social_conversation_notification_social_media_participant.rb +1 -1
  382. data/lib/purecloud/models/station_entity_listing.rb +17 -17
  383. data/lib/purecloud/models/tag_value_entity_listing.rb +17 -17
  384. data/lib/purecloud/models/time_zone_entity_listing.rb +17 -17
  385. data/lib/purecloud/models/trunk_base_entity_listing.rb +17 -17
  386. data/lib/purecloud/models/trunk_entity_listing.rb +17 -17
  387. data/lib/purecloud/models/trunk_metabase_entity_listing.rb +17 -17
  388. data/lib/purecloud/models/user_entity_listing.rb +17 -17
  389. data/lib/purecloud/models/user_list_schedule_request_body.rb +191 -0
  390. data/lib/purecloud/models/user_presence_alert_container.rb +17 -17
  391. data/lib/purecloud/models/user_presence_rule_container.rb +17 -17
  392. data/lib/purecloud/models/user_queue_entity_listing.rb +17 -17
  393. data/lib/purecloud/models/user_recording_entity_listing.rb +17 -17
  394. data/lib/purecloud/models/user_schedule.rb +182 -0
  395. data/lib/purecloud/models/user_schedule_activity.rb +222 -0
  396. data/lib/purecloud/models/user_schedule_container.rb +180 -0
  397. data/lib/purecloud/models/user_schedule_full_day_time_off_marker.rb +211 -0
  398. data/lib/purecloud/models/user_schedule_shift.rb +191 -0
  399. data/lib/purecloud/models/user_skill_entity_listing.rb +17 -17
  400. data/lib/purecloud/models/video_conversation_notification_participants.rb +1 -1
  401. data/lib/purecloud/models/video_conversation_notification_video_media_participant.rb +1 -1
  402. data/lib/purecloud/models/voicemail_message_entity_listing.rb +17 -17
  403. data/lib/purecloud/models/wfm_user_entity_listing.rb +167 -0
  404. data/lib/purecloud/models/workspace_entity_listing.rb +17 -17
  405. data/lib/purecloud/models/workspace_member_entity_listing.rb +17 -17
  406. data/lib/purecloud/models/wrap_up_code_mapping_notification.rb +4 -14
  407. data/lib/purecloud/models/wrapup_code_entity_listing.rb +17 -17
  408. data/lib/purecloud/version.rb +1 -1
  409. data/newVersion.md +1 -1
  410. data/swagger.json +1 -1
  411. data/swagger_template/api_doc.mustache +5 -2
  412. data/version.json +1 -1
  413. metadata +70 -42
  414. data/doc_out/DocumentDataNotification.html.md +0 -28
  415. data/doc_out/DocumentDataNotificationLockData.html.md +0 -15
  416. data/doc_out/DocumentDataNotificationLockInfo.html.md +0 -15
  417. data/doc_out/FaxDataNotification.html.md +0 -31
  418. data/doc_out/FaxDataNotificationLockData.html.md +0 -15
  419. data/doc_out/FaxDataNotificationLockInfo.html.md +0 -15
  420. data/doc_out/RecordingDataNotification.html.md +0 -31
  421. data/doc_out/RecordingDataNotificationLockData.html.md +0 -15
  422. data/doc_out/RecordingDataNotificationLockInfo.html.md +0 -15
  423. data/lib/purecloud/models/recording_data_notification_lock_data.rb +0 -185
  424. data/lib/purecloud/models/recording_data_notification_lock_info.rb +0 -185
@@ -26,16 +26,16 @@ module PureCloud
26
26
 
27
27
  attr_accessor :total
28
28
 
29
+ attr_accessor :self_uri
30
+
29
31
  attr_accessor :first_uri
30
32
 
31
- attr_accessor :self_uri
33
+ attr_accessor :next_uri
32
34
 
33
35
  attr_accessor :previous_uri
34
36
 
35
37
  attr_accessor :last_uri
36
38
 
37
- attr_accessor :next_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
+ :'self_uri' => :'selfUri',
54
+
53
55
  :'first_uri' => :'firstUri',
54
56
 
55
- :'self_uri' => :'selfUri',
57
+ :'next_uri' => :'nextUri',
56
58
 
57
59
  :'previous_uri' => :'previousUri',
58
60
 
59
61
  :'last_uri' => :'lastUri',
60
62
 
61
- :'next_uri' => :'nextUri',
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',
76
+ :'first_uri' => :'String',
77
+ :'next_uri' => :'String',
77
78
  :'previous_uri' => :'String',
78
79
  :'last_uri' => :'String',
79
- :'next_uri' => :'String',
80
80
  :'page_count' => :'Integer'
81
81
 
82
82
  }
@@ -107,12 +107,16 @@ module PureCloud
107
107
  self.total = attributes[:'total']
108
108
  end
109
109
 
110
+ if attributes[:'selfUri']
111
+ self.self_uri = attributes[:'selfUri']
112
+ end
113
+
110
114
  if attributes[:'firstUri']
111
115
  self.first_uri = attributes[:'firstUri']
112
116
  end
113
117
 
114
- if attributes[:'selfUri']
115
- self.self_uri = attributes[:'selfUri']
118
+ if attributes[:'nextUri']
119
+ self.next_uri = attributes[:'nextUri']
116
120
  end
117
121
 
118
122
  if attributes[:'previousUri']
@@ -123,10 +127,6 @@ module PureCloud
123
127
  self.last_uri = attributes[:'lastUri']
124
128
  end
125
129
 
126
- if attributes[:'nextUri']
127
- self.next_uri = attributes[:'nextUri']
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 &&
145
+ first_uri == o.first_uri &&
146
+ next_uri == o.next_uri &&
146
147
  previous_uri == o.previous_uri &&
147
148
  last_uri == o.last_uri &&
148
- next_uri == o.next_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, last_uri, next_uri, page_count].hash
159
+ [entities, page_size, page_number, total, self_uri, first_uri, next_uri, previous_uri, last_uri, page_count].hash
160
160
  end
161
161
 
162
162
  # build the object from hash
@@ -0,0 +1,182 @@
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
+ # A schedule for a single user over a given time range
21
+ class UserSchedule
22
+ # The shifts that belong to this schedule
23
+ attr_accessor :shifts
24
+
25
+ # Markers to indicate a full day time off request, relative to the management unit time zone
26
+ attr_accessor :full_day_time_off_markers
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+
32
+ :'shifts' => :'shifts',
33
+
34
+ :'full_day_time_off_markers' => :'fullDayTimeOffMarkers'
35
+
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.swagger_types
41
+ {
42
+ :'shifts' => :'Array<UserScheduleShift>',
43
+ :'full_day_time_off_markers' => :'Array<UserScheduleFullDayTimeOffMarker>'
44
+
45
+ }
46
+ end
47
+
48
+ def initialize(attributes = {})
49
+ return unless attributes.is_a?(Hash)
50
+
51
+ # convert string to symbol for hash key
52
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
53
+
54
+
55
+ if attributes[:'shifts']
56
+ if (value = attributes[:'shifts']).is_a?(Array)
57
+ self.shifts = value
58
+ end
59
+ end
60
+
61
+ if attributes[:'fullDayTimeOffMarkers']
62
+ if (value = attributes[:'fullDayTimeOffMarkers']).is_a?(Array)
63
+ self.full_day_time_off_markers = value
64
+ end
65
+ end
66
+
67
+ end
68
+
69
+ # Check equality by comparing each attribute.
70
+ def ==(o)
71
+ return true if self.equal?(o)
72
+ self.class == o.class &&
73
+ shifts == o.shifts &&
74
+ full_day_time_off_markers == o.full_day_time_off_markers
75
+ end
76
+
77
+ # @see the `==` method
78
+ def eql?(o)
79
+ self == o
80
+ end
81
+
82
+ # Calculate hash code according to all attributes.
83
+ def hash
84
+ [shifts, full_day_time_off_markers].hash
85
+ end
86
+
87
+ # build the object from hash
88
+ def build_from_hash(attributes)
89
+ return nil unless attributes.is_a?(Hash)
90
+ self.class.swagger_types.each_pair do |key, type|
91
+ if type =~ /^Array<(.*)>/i
92
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
93
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
94
+ else
95
+ #TODO show warning in debug mode
96
+ end
97
+ elsif !attributes[self.class.attribute_map[key]].nil?
98
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
99
+ else
100
+ # data not found in attributes(hash), not an issue as the data can be optional
101
+ end
102
+ end
103
+
104
+ self
105
+ end
106
+
107
+ def _deserialize(type, value)
108
+ case type.to_sym
109
+ when :DateTime
110
+ DateTime.parse(value)
111
+ when :Date
112
+ Date.parse(value)
113
+ when :String
114
+ value.to_s
115
+ when :Integer
116
+ value.to_i
117
+ when :Float
118
+ value.to_f
119
+ when :BOOLEAN
120
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
121
+ true
122
+ else
123
+ false
124
+ end
125
+ when :Object
126
+ # generic object (usually a Hash), return directly
127
+ value
128
+ when /\AArray<(?<inner_type>.+)>\z/
129
+ inner_type = Regexp.last_match[:inner_type]
130
+ value.map { |v| _deserialize(inner_type, v) }
131
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
132
+ k_type = Regexp.last_match[:k_type]
133
+ v_type = Regexp.last_match[:v_type]
134
+ {}.tap do |hash|
135
+ value.each do |k, v|
136
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
137
+ end
138
+ end
139
+ else # model
140
+ _model = Object.const_get("PureCloud").const_get(type).new
141
+ _model.build_from_hash(value)
142
+ end
143
+ end
144
+
145
+ def to_s
146
+ to_hash.to_s
147
+ end
148
+
149
+ # to_body is an alias to to_body (backward compatibility))
150
+ def to_body
151
+ to_hash
152
+ end
153
+
154
+ # return the object in the form of hash
155
+ def to_hash
156
+ hash = {}
157
+ self.class.attribute_map.each_pair do |attr, param|
158
+ value = self.send(attr)
159
+ next if value.nil?
160
+ hash[param] = _to_hash(value)
161
+ end
162
+ hash
163
+ end
164
+
165
+ # Method to output non-array value in the form of hash
166
+ # For object, use to_hash. Otherwise, just return the value
167
+ def _to_hash(value)
168
+ if value.is_a?(Array)
169
+ value.compact.map{ |v| _to_hash(v) }
170
+ elsif value.is_a?(Hash)
171
+ {}.tap do |hash|
172
+ value.each { |k, v| hash[k] = _to_hash(v) }
173
+ end
174
+ elsif value.respond_to? :to_hash
175
+ value.to_hash
176
+ else
177
+ value
178
+ end
179
+ end
180
+
181
+ end
182
+ end
@@ -0,0 +1,222 @@
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
+ # Represents a single activity in a user's shift
21
+ class UserScheduleActivity
22
+ # The id for the activity code. Look up a map of activity codes with the activities route
23
+ attr_accessor :activity_code_id
24
+
25
+ # Start time in UTC for this activity, in ISO-8601 format
26
+ attr_accessor :start_date
27
+
28
+ # Length in minutes for this activity
29
+ attr_accessor :length_in_minutes
30
+
31
+ # Description for this activity
32
+ attr_accessor :description
33
+
34
+ # Whether this activity is paid
35
+ attr_accessor :counts_as_paid_time
36
+
37
+ # Whether this activity spans a DST fallback
38
+ attr_accessor :is_dst_fallback
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+
44
+ :'activity_code_id' => :'activityCodeId',
45
+
46
+ :'start_date' => :'startDate',
47
+
48
+ :'length_in_minutes' => :'lengthInMinutes',
49
+
50
+ :'description' => :'description',
51
+
52
+ :'counts_as_paid_time' => :'countsAsPaidTime',
53
+
54
+ :'is_dst_fallback' => :'isDstFallback'
55
+
56
+ }
57
+ end
58
+
59
+ # Attribute type mapping.
60
+ def self.swagger_types
61
+ {
62
+ :'activity_code_id' => :'String',
63
+ :'start_date' => :'DateTime',
64
+ :'length_in_minutes' => :'Integer',
65
+ :'description' => :'String',
66
+ :'counts_as_paid_time' => :'BOOLEAN',
67
+ :'is_dst_fallback' => :'BOOLEAN'
68
+
69
+ }
70
+ end
71
+
72
+ def initialize(attributes = {})
73
+ return unless attributes.is_a?(Hash)
74
+
75
+ # convert string to symbol for hash key
76
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
77
+
78
+
79
+ if attributes[:'activityCodeId']
80
+ self.activity_code_id = attributes[:'activityCodeId']
81
+ end
82
+
83
+ if attributes[:'startDate']
84
+ self.start_date = attributes[:'startDate']
85
+ end
86
+
87
+ if attributes[:'lengthInMinutes']
88
+ self.length_in_minutes = attributes[:'lengthInMinutes']
89
+ end
90
+
91
+ if attributes[:'description']
92
+ self.description = attributes[:'description']
93
+ end
94
+
95
+ if attributes[:'countsAsPaidTime']
96
+ self.counts_as_paid_time = attributes[:'countsAsPaidTime']
97
+ end
98
+
99
+ if attributes[:'isDstFallback']
100
+ self.is_dst_fallback = attributes[:'isDstFallback']
101
+ end
102
+
103
+ end
104
+
105
+ # Check equality by comparing each attribute.
106
+ def ==(o)
107
+ return true if self.equal?(o)
108
+ self.class == o.class &&
109
+ activity_code_id == o.activity_code_id &&
110
+ start_date == o.start_date &&
111
+ length_in_minutes == o.length_in_minutes &&
112
+ description == o.description &&
113
+ counts_as_paid_time == o.counts_as_paid_time &&
114
+ is_dst_fallback == o.is_dst_fallback
115
+ end
116
+
117
+ # @see the `==` method
118
+ def eql?(o)
119
+ self == o
120
+ end
121
+
122
+ # Calculate hash code according to all attributes.
123
+ def hash
124
+ [activity_code_id, start_date, length_in_minutes, description, counts_as_paid_time, is_dst_fallback].hash
125
+ end
126
+
127
+ # build the object from hash
128
+ def build_from_hash(attributes)
129
+ return nil unless attributes.is_a?(Hash)
130
+ self.class.swagger_types.each_pair do |key, type|
131
+ if type =~ /^Array<(.*)>/i
132
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
133
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
134
+ else
135
+ #TODO show warning in debug mode
136
+ end
137
+ elsif !attributes[self.class.attribute_map[key]].nil?
138
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
139
+ else
140
+ # data not found in attributes(hash), not an issue as the data can be optional
141
+ end
142
+ end
143
+
144
+ self
145
+ end
146
+
147
+ def _deserialize(type, value)
148
+ case type.to_sym
149
+ when :DateTime
150
+ DateTime.parse(value)
151
+ when :Date
152
+ Date.parse(value)
153
+ when :String
154
+ value.to_s
155
+ when :Integer
156
+ value.to_i
157
+ when :Float
158
+ value.to_f
159
+ when :BOOLEAN
160
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
161
+ true
162
+ else
163
+ false
164
+ end
165
+ when :Object
166
+ # generic object (usually a Hash), return directly
167
+ value
168
+ when /\AArray<(?<inner_type>.+)>\z/
169
+ inner_type = Regexp.last_match[:inner_type]
170
+ value.map { |v| _deserialize(inner_type, v) }
171
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
172
+ k_type = Regexp.last_match[:k_type]
173
+ v_type = Regexp.last_match[:v_type]
174
+ {}.tap do |hash|
175
+ value.each do |k, v|
176
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
177
+ end
178
+ end
179
+ else # model
180
+ _model = Object.const_get("PureCloud").const_get(type).new
181
+ _model.build_from_hash(value)
182
+ end
183
+ end
184
+
185
+ def to_s
186
+ to_hash.to_s
187
+ end
188
+
189
+ # to_body is an alias to to_body (backward compatibility))
190
+ def to_body
191
+ to_hash
192
+ end
193
+
194
+ # return the object in the form of hash
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ next if value.nil?
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ hash
203
+ end
204
+
205
+ # Method to output non-array value in the form of hash
206
+ # For object, use to_hash. Otherwise, just return the value
207
+ def _to_hash(value)
208
+ if value.is_a?(Array)
209
+ value.compact.map{ |v| _to_hash(v) }
210
+ elsif value.is_a?(Hash)
211
+ {}.tap do |hash|
212
+ value.each { |k, v| hash[k] = _to_hash(v) }
213
+ end
214
+ elsif value.respond_to? :to_hash
215
+ value.to_hash
216
+ else
217
+ value
218
+ end
219
+ end
220
+
221
+ end
222
+ end