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
@@ -0,0 +1,180 @@
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
+ # Container object to hold a map of user schedules
21
+ class UserScheduleContainer
22
+ # The reference time zone used for the management unit
23
+ attr_accessor :management_unit_time_zone
24
+
25
+ # Map of user id to user schedule
26
+ attr_accessor :user_schedules
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+
32
+ :'management_unit_time_zone' => :'managementUnitTimeZone',
33
+
34
+ :'user_schedules' => :'userSchedules'
35
+
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.swagger_types
41
+ {
42
+ :'management_unit_time_zone' => :'String',
43
+ :'user_schedules' => :'Hash<String, UserSchedule>'
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[:'managementUnitTimeZone']
56
+ self.management_unit_time_zone = attributes[:'managementUnitTimeZone']
57
+ end
58
+
59
+ if attributes[:'userSchedules']
60
+ if (value = attributes[:'userSchedules']).is_a?(Array)
61
+ self.user_schedules = value
62
+ end
63
+ end
64
+
65
+ end
66
+
67
+ # Check equality by comparing each attribute.
68
+ def ==(o)
69
+ return true if self.equal?(o)
70
+ self.class == o.class &&
71
+ management_unit_time_zone == o.management_unit_time_zone &&
72
+ user_schedules == o.user_schedules
73
+ end
74
+
75
+ # @see the `==` method
76
+ def eql?(o)
77
+ self == o
78
+ end
79
+
80
+ # Calculate hash code according to all attributes.
81
+ def hash
82
+ [management_unit_time_zone, user_schedules].hash
83
+ end
84
+
85
+ # build the object from hash
86
+ def build_from_hash(attributes)
87
+ return nil unless attributes.is_a?(Hash)
88
+ self.class.swagger_types.each_pair do |key, type|
89
+ if type =~ /^Array<(.*)>/i
90
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
91
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
92
+ else
93
+ #TODO show warning in debug mode
94
+ end
95
+ elsif !attributes[self.class.attribute_map[key]].nil?
96
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
97
+ else
98
+ # data not found in attributes(hash), not an issue as the data can be optional
99
+ end
100
+ end
101
+
102
+ self
103
+ end
104
+
105
+ def _deserialize(type, value)
106
+ case type.to_sym
107
+ when :DateTime
108
+ DateTime.parse(value)
109
+ when :Date
110
+ Date.parse(value)
111
+ when :String
112
+ value.to_s
113
+ when :Integer
114
+ value.to_i
115
+ when :Float
116
+ value.to_f
117
+ when :BOOLEAN
118
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
119
+ true
120
+ else
121
+ false
122
+ end
123
+ when :Object
124
+ # generic object (usually a Hash), return directly
125
+ value
126
+ when /\AArray<(?<inner_type>.+)>\z/
127
+ inner_type = Regexp.last_match[:inner_type]
128
+ value.map { |v| _deserialize(inner_type, v) }
129
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
130
+ k_type = Regexp.last_match[:k_type]
131
+ v_type = Regexp.last_match[:v_type]
132
+ {}.tap do |hash|
133
+ value.each do |k, v|
134
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
135
+ end
136
+ end
137
+ else # model
138
+ _model = Object.const_get("PureCloud").const_get(type).new
139
+ _model.build_from_hash(value)
140
+ end
141
+ end
142
+
143
+ def to_s
144
+ to_hash.to_s
145
+ end
146
+
147
+ # to_body is an alias to to_body (backward compatibility))
148
+ def to_body
149
+ to_hash
150
+ end
151
+
152
+ # return the object in the form of hash
153
+ def to_hash
154
+ hash = {}
155
+ self.class.attribute_map.each_pair do |attr, param|
156
+ value = self.send(attr)
157
+ next if value.nil?
158
+ hash[param] = _to_hash(value)
159
+ end
160
+ hash
161
+ end
162
+
163
+ # Method to output non-array value in the form of hash
164
+ # For object, use to_hash. Otherwise, just return the value
165
+ def _to_hash(value)
166
+ if value.is_a?(Array)
167
+ value.compact.map{ |v| _to_hash(v) }
168
+ elsif value.is_a?(Hash)
169
+ {}.tap do |hash|
170
+ value.each { |k, v| hash[k] = _to_hash(v) }
171
+ end
172
+ elsif value.respond_to? :to_hash
173
+ value.to_hash
174
+ else
175
+ value
176
+ end
177
+ end
178
+
179
+ end
180
+ end
@@ -0,0 +1,211 @@
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
+ # Marker to indicate an approved full day time off request
21
+ class UserScheduleFullDayTimeOffMarker
22
+ # The date associated with the time off request that this marker corresponds to. Date only, in ISO-8601 format
23
+ attr_accessor :management_unit_date
24
+
25
+ # The id for the activity code. Look up a map of activity codes with the activities route
26
+ attr_accessor :activity_code_id
27
+
28
+ # Whether this is paid time off
29
+ attr_accessor :is_paid
30
+
31
+ # The length in minutes of this time off marker
32
+ attr_accessor :length_in_minutes
33
+
34
+ # The description associated with the time off request that this marker corresponds to
35
+ attr_accessor :description
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+
41
+ :'management_unit_date' => :'managementUnitDate',
42
+
43
+ :'activity_code_id' => :'activityCodeId',
44
+
45
+ :'is_paid' => :'isPaid',
46
+
47
+ :'length_in_minutes' => :'lengthInMinutes',
48
+
49
+ :'description' => :'description'
50
+
51
+ }
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.swagger_types
56
+ {
57
+ :'management_unit_date' => :'String',
58
+ :'activity_code_id' => :'String',
59
+ :'is_paid' => :'BOOLEAN',
60
+ :'length_in_minutes' => :'Integer',
61
+ :'description' => :'String'
62
+
63
+ }
64
+ end
65
+
66
+ def initialize(attributes = {})
67
+ return unless attributes.is_a?(Hash)
68
+
69
+ # convert string to symbol for hash key
70
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
71
+
72
+
73
+ if attributes[:'managementUnitDate']
74
+ self.management_unit_date = attributes[:'managementUnitDate']
75
+ end
76
+
77
+ if attributes[:'activityCodeId']
78
+ self.activity_code_id = attributes[:'activityCodeId']
79
+ end
80
+
81
+ if attributes[:'isPaid']
82
+ self.is_paid = attributes[:'isPaid']
83
+ end
84
+
85
+ if attributes[:'lengthInMinutes']
86
+ self.length_in_minutes = attributes[:'lengthInMinutes']
87
+ end
88
+
89
+ if attributes[:'description']
90
+ self.description = attributes[:'description']
91
+ end
92
+
93
+ end
94
+
95
+ # Check equality by comparing each attribute.
96
+ def ==(o)
97
+ return true if self.equal?(o)
98
+ self.class == o.class &&
99
+ management_unit_date == o.management_unit_date &&
100
+ activity_code_id == o.activity_code_id &&
101
+ is_paid == o.is_paid &&
102
+ length_in_minutes == o.length_in_minutes &&
103
+ description == o.description
104
+ end
105
+
106
+ # @see the `==` method
107
+ def eql?(o)
108
+ self == o
109
+ end
110
+
111
+ # Calculate hash code according to all attributes.
112
+ def hash
113
+ [management_unit_date, activity_code_id, is_paid, length_in_minutes, description].hash
114
+ end
115
+
116
+ # build the object from hash
117
+ def build_from_hash(attributes)
118
+ return nil unless attributes.is_a?(Hash)
119
+ self.class.swagger_types.each_pair do |key, type|
120
+ if type =~ /^Array<(.*)>/i
121
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
122
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
123
+ else
124
+ #TODO show warning in debug mode
125
+ end
126
+ elsif !attributes[self.class.attribute_map[key]].nil?
127
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
128
+ else
129
+ # data not found in attributes(hash), not an issue as the data can be optional
130
+ end
131
+ end
132
+
133
+ self
134
+ end
135
+
136
+ def _deserialize(type, value)
137
+ case type.to_sym
138
+ when :DateTime
139
+ DateTime.parse(value)
140
+ when :Date
141
+ Date.parse(value)
142
+ when :String
143
+ value.to_s
144
+ when :Integer
145
+ value.to_i
146
+ when :Float
147
+ value.to_f
148
+ when :BOOLEAN
149
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
150
+ true
151
+ else
152
+ false
153
+ end
154
+ when :Object
155
+ # generic object (usually a Hash), return directly
156
+ value
157
+ when /\AArray<(?<inner_type>.+)>\z/
158
+ inner_type = Regexp.last_match[:inner_type]
159
+ value.map { |v| _deserialize(inner_type, v) }
160
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
161
+ k_type = Regexp.last_match[:k_type]
162
+ v_type = Regexp.last_match[:v_type]
163
+ {}.tap do |hash|
164
+ value.each do |k, v|
165
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
+ end
167
+ end
168
+ else # model
169
+ _model = Object.const_get("PureCloud").const_get(type).new
170
+ _model.build_from_hash(value)
171
+ end
172
+ end
173
+
174
+ def to_s
175
+ to_hash.to_s
176
+ end
177
+
178
+ # to_body is an alias to to_body (backward compatibility))
179
+ def to_body
180
+ to_hash
181
+ end
182
+
183
+ # return the object in the form of hash
184
+ def to_hash
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = self.send(attr)
188
+ next if value.nil?
189
+ hash[param] = _to_hash(value)
190
+ end
191
+ hash
192
+ end
193
+
194
+ # Method to output non-array value in the form of hash
195
+ # For object, use to_hash. Otherwise, just return the value
196
+ def _to_hash(value)
197
+ if value.is_a?(Array)
198
+ value.compact.map{ |v| _to_hash(v) }
199
+ elsif value.is_a?(Hash)
200
+ {}.tap do |hash|
201
+ value.each { |k, v| hash[k] = _to_hash(v) }
202
+ end
203
+ elsif value.respond_to? :to_hash
204
+ value.to_hash
205
+ else
206
+ value
207
+ end
208
+ end
209
+
210
+ end
211
+ end
@@ -0,0 +1,191 @@
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
+ # Single shift in a user's schedule
21
+ class UserScheduleShift
22
+ # Start time in UTC for this shift. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
23
+ attr_accessor :start_date
24
+
25
+ # Length of this shift in minutes
26
+ attr_accessor :length_in_minutes
27
+
28
+ # List of activities in this shift
29
+ attr_accessor :activities
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+
35
+ :'start_date' => :'startDate',
36
+
37
+ :'length_in_minutes' => :'lengthInMinutes',
38
+
39
+ :'activities' => :'activities'
40
+
41
+ }
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.swagger_types
46
+ {
47
+ :'start_date' => :'DateTime',
48
+ :'length_in_minutes' => :'Integer',
49
+ :'activities' => :'Array<UserScheduleActivity>'
50
+
51
+ }
52
+ end
53
+
54
+ def initialize(attributes = {})
55
+ return unless attributes.is_a?(Hash)
56
+
57
+ # convert string to symbol for hash key
58
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
59
+
60
+
61
+ if attributes[:'startDate']
62
+ self.start_date = attributes[:'startDate']
63
+ end
64
+
65
+ if attributes[:'lengthInMinutes']
66
+ self.length_in_minutes = attributes[:'lengthInMinutes']
67
+ end
68
+
69
+ if attributes[:'activities']
70
+ if (value = attributes[:'activities']).is_a?(Array)
71
+ self.activities = value
72
+ end
73
+ end
74
+
75
+ end
76
+
77
+ # Check equality by comparing each attribute.
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ start_date == o.start_date &&
82
+ length_in_minutes == o.length_in_minutes &&
83
+ activities == o.activities
84
+ end
85
+
86
+ # @see the `==` method
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculate hash code according to all attributes.
92
+ def hash
93
+ [start_date, length_in_minutes, activities].hash
94
+ end
95
+
96
+ # build the object from hash
97
+ def build_from_hash(attributes)
98
+ return nil unless attributes.is_a?(Hash)
99
+ self.class.swagger_types.each_pair do |key, type|
100
+ if type =~ /^Array<(.*)>/i
101
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
102
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
103
+ else
104
+ #TODO show warning in debug mode
105
+ end
106
+ elsif !attributes[self.class.attribute_map[key]].nil?
107
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
108
+ else
109
+ # data not found in attributes(hash), not an issue as the data can be optional
110
+ end
111
+ end
112
+
113
+ self
114
+ end
115
+
116
+ def _deserialize(type, value)
117
+ case type.to_sym
118
+ when :DateTime
119
+ DateTime.parse(value)
120
+ when :Date
121
+ Date.parse(value)
122
+ when :String
123
+ value.to_s
124
+ when :Integer
125
+ value.to_i
126
+ when :Float
127
+ value.to_f
128
+ when :BOOLEAN
129
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
130
+ true
131
+ else
132
+ false
133
+ end
134
+ when :Object
135
+ # generic object (usually a Hash), return directly
136
+ value
137
+ when /\AArray<(?<inner_type>.+)>\z/
138
+ inner_type = Regexp.last_match[:inner_type]
139
+ value.map { |v| _deserialize(inner_type, v) }
140
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
141
+ k_type = Regexp.last_match[:k_type]
142
+ v_type = Regexp.last_match[:v_type]
143
+ {}.tap do |hash|
144
+ value.each do |k, v|
145
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
146
+ end
147
+ end
148
+ else # model
149
+ _model = Object.const_get("PureCloud").const_get(type).new
150
+ _model.build_from_hash(value)
151
+ end
152
+ end
153
+
154
+ def to_s
155
+ to_hash.to_s
156
+ end
157
+
158
+ # to_body is an alias to to_body (backward compatibility))
159
+ def to_body
160
+ to_hash
161
+ end
162
+
163
+ # return the object in the form of hash
164
+ def to_hash
165
+ hash = {}
166
+ self.class.attribute_map.each_pair do |attr, param|
167
+ value = self.send(attr)
168
+ next if value.nil?
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ hash
172
+ end
173
+
174
+ # Method to output non-array value in the form of hash
175
+ # For object, use to_hash. Otherwise, just return the value
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map{ |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+
190
+ end
191
+ end