late-sdk 0.0.716 → 0.0.718

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 (475) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +81 -0
  3. data/docs/AccountsApi.md +142 -1
  4. data/docs/AdCampaignsApi.md +22 -10
  5. data/docs/AdCreative.md +2 -0
  6. data/docs/AdDailyMetrics.md +1 -1
  7. data/docs/AdEngagementCounts.md +4 -4
  8. data/docs/AdInsightsApi.md +164 -0
  9. data/docs/AdMetrics.md +1 -1
  10. data/docs/AdTargetingApi.md +3 -3
  11. data/docs/AdTreeCampaign.md +1 -1
  12. data/docs/AddBroadcastRecipientsRequest.md +1 -1
  13. data/docs/AnalyticsListResponsePostsInner.md +1 -1
  14. data/docs/AnalyticsListResponsePostsInnerMediaItemsInner.md +24 -0
  15. data/docs/AnalyticsSinglePostResponseMediaItemsInner.md +7 -3
  16. data/docs/BillingSnapshot.md +2 -0
  17. data/docs/BillingSnapshotPlan.md +3 -1
  18. data/docs/Blog.md +24 -0
  19. data/docs/BlogArticle.md +44 -0
  20. data/docs/BlogArticleImage.md +20 -0
  21. data/docs/BlogsApi.md +747 -0
  22. data/docs/BlueskyPlatformData.md +2 -0
  23. data/docs/BoostPostRequest.md +2 -2
  24. data/docs/CampaignAnalyticsResponseAnalyticsDailyInner.md +1 -1
  25. data/docs/CommentsApi.md +8 -8
  26. data/docs/ConnectApi.md +149 -1
  27. data/docs/ConnectShopifyWithToken200Response.md +18 -0
  28. data/docs/ConnectShopifyWithToken200ResponseAccount.md +26 -0
  29. data/docs/ConnectShopifyWithTokenRequest.md +22 -0
  30. data/docs/CreateBlog201Response.md +20 -0
  31. data/docs/CreateBlogArticle201Response.md +20 -0
  32. data/docs/CreateBlogArticleRequest.md +36 -0
  33. data/docs/CreateBlogArticleRequestImage.md +20 -0
  34. data/docs/CreateBlogArticleRequestSeo.md +20 -0
  35. data/docs/CreateBlogRequest.md +20 -0
  36. data/docs/CreateCallAdRequest.md +1 -1
  37. data/docs/CreateInboxConversationRequest.md +2 -0
  38. data/docs/CreateMessagingAdRequest.md +1 -1
  39. data/docs/CreatePostRequest.md +1 -1
  40. data/docs/CreateStandaloneAdRequest.md +10 -6
  41. data/docs/CreateStandaloneAdRequestPromotedObject.md +2 -2
  42. data/docs/CreateStandaloneAdRequestVideo.md +1 -1
  43. data/docs/CtwaAdRequestBody.md +1 -1
  44. data/docs/ExternalPostMediaItem.md +7 -3
  45. data/docs/ExternalPostSummary.md +0 -2
  46. data/docs/ExternalPostSummaryAnalytics.md +1 -1
  47. data/docs/GetAccountHealth200Response.md +3 -1
  48. data/docs/GetAccountHealth200ResponsePlatformConnection.md +24 -0
  49. data/docs/GetAccountHealth200ResponsePlatformConnectionMetaError.md +22 -0
  50. data/docs/GetAdAnalytics202Response.md +1 -1
  51. data/docs/GetAdTree202Response.md +1 -1
  52. data/docs/GetAdsTimeline202Response.md +1 -1
  53. data/docs/GetBlueskySettings200Response.md +18 -0
  54. data/docs/GetCampaignAnalytics202Response.md +1 -1
  55. data/docs/GetInboxPostComments200ResponseCommentsInner.md +4 -2
  56. data/docs/GetLinkedInPostAnalytics200ResponseAnalytics.md +1 -1
  57. data/docs/GetPhoneNumberKycForm200Response.md +3 -1
  58. data/docs/GetWhatsAppNumberKycForm200Response.md +3 -1
  59. data/docs/LinkedInAggregateAnalyticsTotalResponseAnalytics.md +1 -1
  60. data/docs/LinkedInPlatformData.md +4 -2
  61. data/docs/LinkedInPlatformDataPoll.md +22 -0
  62. data/docs/ListAds202Response.md +1 -1
  63. data/docs/ListBlogArticles200Response.md +22 -0
  64. data/docs/ListBlogs200Response.md +22 -0
  65. data/docs/ListInboxConversations200ResponseDataInnerMetadata.md +3 -3
  66. data/docs/ListLeads200ResponseLeadsInner.md +3 -3
  67. data/docs/ListLocalServicesLeadConversations200Response.md +22 -0
  68. data/docs/ListLocalServicesLeadConversations200ResponseDataInner.md +28 -0
  69. data/docs/ListLocalServicesLeadConversations200ResponseDataInnerMessage.md +20 -0
  70. data/docs/ListLocalServicesLeadConversations200ResponseDataInnerPhoneCall.md +20 -0
  71. data/docs/ListLocalServicesLeads200Response.md +22 -0
  72. data/docs/ListLocalServicesLeads200ResponseDataInner.md +38 -0
  73. data/docs/ListLocalServicesLeads200ResponseDataInnerContact.md +22 -0
  74. data/docs/ListPhoneNumbers200ResponseConnectedInner.md +3 -1
  75. data/docs/ListPhoneNumbers200ResponseNumbersInner.md +2 -0
  76. data/docs/ListWhatsAppAccountEvents200Response.md +18 -0
  77. data/docs/ListWhatsAppAccountEvents200ResponseEventsInner.md +28 -0
  78. data/docs/MessagesApi.md +4 -4
  79. data/docs/OnVerificationApprovedRequest.md +1 -1
  80. data/docs/OnVerificationFailedRequest.md +1 -1
  81. data/docs/OnWhatsAppAutomaticEventRequest.md +1 -1
  82. data/docs/OnWhatsAppNumberActionRequiredRequest.md +1 -1
  83. data/docs/OnWhatsAppNumberActivatedRequest.md +1 -1
  84. data/docs/OnWhatsAppNumberDeclinedRequest.md +1 -1
  85. data/docs/OnWhatsAppNumberKycSubmittedRequest.md +1 -1
  86. data/docs/OnWhatsAppNumberReactivatedRequest.md +1 -1
  87. data/docs/OnWhatsAppNumberReleasedRequest.md +1 -1
  88. data/docs/OnWhatsAppNumberSuspendedRequest.md +1 -1
  89. data/docs/OnWhatsAppNumberVerificationRequiredRequest.md +1 -1
  90. data/docs/PlatformTarget.md +2 -2
  91. data/docs/PostAnalytics.md +3 -3
  92. data/docs/PostsApi.md +1 -1
  93. data/docs/SMSApi.md +1 -1
  94. data/docs/SearchAdTargeting200ResponseResultsInner.md +1 -1
  95. data/docs/SendInboxMessageRequest.md +4 -2
  96. data/docs/SubmitPhoneNumberKycRequest.md +1 -1
  97. data/docs/SubmitPhoneNumberKycRequestAddress.md +2 -0
  98. data/docs/SubmitWhatsAppNumberKycRequest.md +1 -1
  99. data/docs/TwitterPlatformData.md +2 -0
  100. data/docs/UpdateAdCampaignStatus200Response.md +6 -6
  101. data/docs/UpdateAdSet200Response.md +7 -3
  102. data/docs/UpdateAdSetRequest.md +1 -1
  103. data/docs/UpdateAdSetStatus200Response.md +9 -3
  104. data/docs/UpdateBlogArticleRequest.md +36 -0
  105. data/docs/UpdateBlogRequest.md +20 -0
  106. data/docs/UpdateBlueskySettingsRequest.md +18 -0
  107. data/docs/ValidatePhoneNumberKycAddressRequest.md +2 -0
  108. data/docs/WebhookEventsApi.md +138 -0
  109. data/docs/WebhookPayloadAccountAdsInitialSyncCompleted.md +1 -1
  110. data/docs/WebhookPayloadAccountConnected.md +1 -1
  111. data/docs/WebhookPayloadAccountDisconnected.md +1 -1
  112. data/docs/WebhookPayloadAdStatusChanged.md +1 -1
  113. data/docs/WebhookPayloadCallEnded.md +1 -1
  114. data/docs/WebhookPayloadCallEndedCall.md +4 -0
  115. data/docs/WebhookPayloadCallFailed.md +1 -1
  116. data/docs/WebhookPayloadCallPermissionRequest.md +1 -1
  117. data/docs/WebhookPayloadCallReceived.md +1 -1
  118. data/docs/WebhookPayloadComment.md +1 -1
  119. data/docs/WebhookPayloadCommentCommentAuthor.md +2 -0
  120. data/docs/WebhookPayloadConversationStarted.md +1 -1
  121. data/docs/WebhookPayloadExternalPost.md +1 -1
  122. data/docs/WebhookPayloadLead.md +1 -1
  123. data/docs/WebhookPayloadMessage.md +1 -1
  124. data/docs/WebhookPayloadMessageDeleted.md +1 -1
  125. data/docs/WebhookPayloadMessageDeliveryStatus.md +1 -1
  126. data/docs/WebhookPayloadMessageEdited.md +1 -1
  127. data/docs/WebhookPayloadMessageMetadata.md +5 -1
  128. data/docs/WebhookPayloadMessageMetadataReferral.md +5 -3
  129. data/docs/WebhookPayloadMessageMetadataUnsupported.md +22 -0
  130. data/docs/WebhookPayloadMessageSent.md +1 -1
  131. data/docs/WebhookPayloadPost.md +1 -1
  132. data/docs/WebhookPayloadPostPlatform.md +1 -1
  133. data/docs/WebhookPayloadReaction.md +1 -1
  134. data/docs/WebhookPayloadReferral.md +30 -0
  135. data/docs/WebhookPayloadReferralReferral.md +28 -0
  136. data/docs/WebhookPayloadReferralReferralAdsContextData.md +28 -0
  137. data/docs/WebhookPayloadReferralSender.md +20 -0
  138. data/docs/WebhookPayloadReviewNew.md +1 -1
  139. data/docs/WebhookPayloadReviewUpdated.md +1 -1
  140. data/docs/WebhookPayloadTest.md +1 -1
  141. data/docs/WebhookPayloadWhatsAppTemplateCategoryUpdated.md +26 -0
  142. data/docs/WebhookPayloadWhatsAppTemplateCategoryUpdatedTemplate.md +32 -0
  143. data/docs/WebhookPayloadWhatsAppTemplateStatusUpdated.md +1 -1
  144. data/docs/WhatsAppApi.md +74 -0
  145. data/docs/WorkflowNode.md +3 -1
  146. data/docs/XArticle.md +24 -0
  147. data/docs/XArticleBlock.md +28 -0
  148. data/docs/XArticleBlockData.md +24 -0
  149. data/docs/XArticleContentState.md +20 -0
  150. data/docs/XArticleCover.md +20 -0
  151. data/docs/XArticleEntity.md +57 -0
  152. data/docs/XArticleEntityOneOf.md +20 -0
  153. data/docs/XArticleEntityOneOf1.md +20 -0
  154. data/docs/XArticleEntityOneOf1Value.md +22 -0
  155. data/docs/XArticleEntityOneOf1ValueData.md +18 -0
  156. data/docs/XArticleEntityOneOf2.md +20 -0
  157. data/docs/XArticleEntityOneOf2Value.md +22 -0
  158. data/docs/XArticleEntityOneOf2ValueData.md +22 -0
  159. data/docs/XArticleEntityOneOf3.md +20 -0
  160. data/docs/XArticleEntityOneOf3Value.md +22 -0
  161. data/docs/XArticleEntityOneOf3ValueData.md +18 -0
  162. data/docs/XArticleEntityOneOf4.md +20 -0
  163. data/docs/XArticleEntityOneOf4Value.md +22 -0
  164. data/docs/XArticleEntityOneOf4ValueData.md +18 -0
  165. data/docs/XArticleEntityOneOf5.md +20 -0
  166. data/docs/XArticleEntityOneOf5Value.md +22 -0
  167. data/docs/XArticleEntityOneOfValue.md +22 -0
  168. data/docs/XArticleEntityOneOfValueData.md +18 -0
  169. data/docs/XArticleEntityRange.md +22 -0
  170. data/docs/XArticleInlineStyleRange.md +22 -0
  171. data/docs/XArticleTextRange.md +22 -0
  172. data/docs/YouTubeVideoRetentionResponse.md +1 -1
  173. data/docs/YouTubeVideoRetentionResponseRetentionCurveInner.md +2 -2
  174. data/lib/zernio-sdk/api/accounts_api.rb +139 -2
  175. data/lib/zernio-sdk/api/ad_campaigns_api.rb +35 -8
  176. data/lib/zernio-sdk/api/ad_insights_api.rb +165 -0
  177. data/lib/zernio-sdk/api/ad_targeting_api.rb +5 -5
  178. data/lib/zernio-sdk/api/blogs_api.rb +845 -0
  179. data/lib/zernio-sdk/api/comments_api.rb +10 -10
  180. data/lib/zernio-sdk/api/connect_api.rb +149 -0
  181. data/lib/zernio-sdk/api/messages_api.rb +4 -4
  182. data/lib/zernio-sdk/api/posts_api.rb +2 -2
  183. data/lib/zernio-sdk/api/sms_api.rb +2 -2
  184. data/lib/zernio-sdk/api/webhook_events_api.rb +132 -0
  185. data/lib/zernio-sdk/api/whats_app_api.rb +75 -0
  186. data/lib/zernio-sdk/models/account_with_follower_stats.rb +2 -2
  187. data/lib/zernio-sdk/models/ad_creative.rb +12 -1
  188. data/lib/zernio-sdk/models/ad_daily_metrics.rb +1 -1
  189. data/lib/zernio-sdk/models/ad_engagement_counts.rb +5 -5
  190. data/lib/zernio-sdk/models/ad_metrics.rb +1 -1
  191. data/lib/zernio-sdk/models/ad_tree_campaign.rb +1 -1
  192. data/lib/zernio-sdk/models/add_broadcast_recipients_request.rb +1 -1
  193. data/lib/zernio-sdk/models/analytics_list_response_posts_inner.rb +1 -1
  194. data/lib/zernio-sdk/models/analytics_list_response_posts_inner_media_items_inner.rb +211 -0
  195. data/lib/zernio-sdk/models/analytics_single_post_response_media_items_inner.rb +52 -6
  196. data/lib/zernio-sdk/models/billing_snapshot.rb +14 -3
  197. data/lib/zernio-sdk/models/billing_snapshot_plan.rb +14 -4
  198. data/lib/zernio-sdk/models/blog.rb +211 -0
  199. data/lib/zernio-sdk/models/blog_article.rb +315 -0
  200. data/lib/zernio-sdk/models/blog_article_image.rb +158 -0
  201. data/lib/zernio-sdk/models/bluesky_platform_data.rb +42 -2
  202. data/lib/zernio-sdk/models/boost_post_request.rb +30 -1
  203. data/lib/zernio-sdk/models/campaign_analytics_response_analytics_daily_inner.rb +1 -1
  204. data/lib/zernio-sdk/models/connect_shopify_with_token200_response.rb +147 -0
  205. data/lib/zernio-sdk/models/connect_shopify_with_token200_response_account.rb +218 -0
  206. data/lib/zernio-sdk/models/connect_shopify_with_token_request.rb +219 -0
  207. data/lib/zernio-sdk/models/create_blog201_response.rb +190 -0
  208. data/lib/zernio-sdk/models/create_blog_article201_response.rb +190 -0
  209. data/lib/zernio-sdk/models/create_blog_article_request.rb +262 -0
  210. data/lib/zernio-sdk/models/create_blog_article_request_image.rb +174 -0
  211. data/lib/zernio-sdk/models/create_blog_article_request_seo.rb +157 -0
  212. data/lib/zernio-sdk/models/create_blog_request.rb +202 -0
  213. data/lib/zernio-sdk/models/create_call_ad_request.rb +1 -1
  214. data/lib/zernio-sdk/models/create_inbox_conversation_request.rb +13 -1
  215. data/lib/zernio-sdk/models/create_messaging_ad_request.rb +1 -1
  216. data/lib/zernio-sdk/models/create_post_request.rb +1 -1
  217. data/lib/zernio-sdk/models/create_standalone_ad_request.rb +67 -6
  218. data/lib/zernio-sdk/models/create_standalone_ad_request_creatives_inner_video.rb +1 -1
  219. data/lib/zernio-sdk/models/create_standalone_ad_request_promoted_object.rb +3 -3
  220. data/lib/zernio-sdk/models/create_standalone_ad_request_video.rb +1 -1
  221. data/lib/zernio-sdk/models/ctwa_ad_request_body.rb +1 -1
  222. data/lib/zernio-sdk/models/external_post_media_item.rb +48 -16
  223. data/lib/zernio-sdk/models/external_post_summary.rb +1 -11
  224. data/lib/zernio-sdk/models/external_post_summary_analytics.rb +1 -0
  225. data/lib/zernio-sdk/models/facebook_settings.rb +5 -5
  226. data/lib/zernio-sdk/models/get_account_health200_response.rb +13 -4
  227. data/lib/zernio-sdk/models/get_account_health200_response_platform_connection.rb +213 -0
  228. data/lib/zernio-sdk/models/get_account_health200_response_platform_connection_meta_error.rb +168 -0
  229. data/lib/zernio-sdk/models/get_ad_analytics202_response.rb +6 -29
  230. data/lib/zernio-sdk/models/get_ad_tree202_response.rb +6 -29
  231. data/lib/zernio-sdk/models/get_ads_timeline202_response.rb +6 -29
  232. data/lib/zernio-sdk/models/get_bluesky_settings200_response.rb +150 -0
  233. data/lib/zernio-sdk/models/get_campaign_analytics202_response.rb +6 -29
  234. data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner.rb +13 -2
  235. data/lib/zernio-sdk/models/get_linked_in_post_analytics200_response_analytics.rb +1 -1
  236. data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response.rb +14 -4
  237. data/lib/zernio-sdk/models/get_whats_app_number_kyc_form200_response.rb +14 -4
  238. data/lib/zernio-sdk/models/inbox_webhook_message.rb +2 -2
  239. data/lib/zernio-sdk/models/linked_in_aggregate_analytics_total_response_analytics.rb +1 -1
  240. data/lib/zernio-sdk/models/linked_in_platform_data.rb +15 -6
  241. data/lib/zernio-sdk/models/linked_in_platform_data_poll.rb +277 -0
  242. data/lib/zernio-sdk/models/list_ads202_response.rb +6 -29
  243. data/lib/zernio-sdk/models/list_blog_articles200_response.rb +203 -0
  244. data/lib/zernio-sdk/models/list_blogs200_response.rb +203 -0
  245. data/lib/zernio-sdk/models/list_broadcast_recipients200_response_recipients_inner.rb +1 -0
  246. data/lib/zernio-sdk/models/list_inbox_conversations200_response_data_inner_metadata.rb +4 -4
  247. data/lib/zernio-sdk/models/list_leads200_response_leads_inner.rb +3 -2
  248. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response.rb +167 -0
  249. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response_data_inner.rb +198 -0
  250. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response_data_inner_message.rb +160 -0
  251. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response_data_inner_phone_call.rb +159 -0
  252. data/lib/zernio-sdk/models/list_local_services_leads200_response.rb +167 -0
  253. data/lib/zernio-sdk/models/list_local_services_leads200_response_data_inner.rb +249 -0
  254. data/lib/zernio-sdk/models/list_local_services_leads200_response_data_inner_contact.rb +169 -0
  255. data/lib/zernio-sdk/models/list_phone_numbers200_response_connected_inner.rb +15 -5
  256. data/lib/zernio-sdk/models/list_phone_numbers200_response_numbers_inner.rb +11 -1
  257. data/lib/zernio-sdk/models/list_sequence_enrollments200_response_enrollments_inner.rb +3 -0
  258. data/lib/zernio-sdk/models/list_whats_app_account_events200_response.rb +149 -0
  259. data/lib/zernio-sdk/models/list_whats_app_account_events200_response_events_inner.rb +228 -0
  260. data/lib/zernio-sdk/models/on_verification_approved_request.rb +1 -0
  261. data/lib/zernio-sdk/models/on_verification_failed_request.rb +1 -0
  262. data/lib/zernio-sdk/models/on_whats_app_automatic_event_request.rb +1 -0
  263. data/lib/zernio-sdk/models/on_whats_app_number_action_required_request.rb +1 -0
  264. data/lib/zernio-sdk/models/on_whats_app_number_activated_request.rb +1 -0
  265. data/lib/zernio-sdk/models/on_whats_app_number_declined_request.rb +1 -0
  266. data/lib/zernio-sdk/models/on_whats_app_number_kyc_submitted_request.rb +1 -0
  267. data/lib/zernio-sdk/models/on_whats_app_number_reactivated_request.rb +1 -0
  268. data/lib/zernio-sdk/models/on_whats_app_number_released_request.rb +1 -0
  269. data/lib/zernio-sdk/models/on_whats_app_number_suspended_request.rb +1 -0
  270. data/lib/zernio-sdk/models/on_whats_app_number_verification_required_request.rb +1 -0
  271. data/lib/zernio-sdk/models/platform_target.rb +5 -4
  272. data/lib/zernio-sdk/models/post_analytics.rb +2 -1
  273. data/lib/zernio-sdk/models/search_ad_targeting200_response_results_inner.rb +1 -1
  274. data/lib/zernio-sdk/models/send_inbox_message_request.rb +15 -3
  275. data/lib/zernio-sdk/models/social_account.rb +2 -2
  276. data/lib/zernio-sdk/models/submit_phone_number_kyc_request.rb +1 -1
  277. data/lib/zernio-sdk/models/submit_phone_number_kyc_request_address.rb +11 -1
  278. data/lib/zernio-sdk/models/submit_whats_app_number_kyc_request.rb +1 -1
  279. data/lib/zernio-sdk/models/twitter_platform_data.rb +11 -2
  280. data/lib/zernio-sdk/models/update_ad_campaign_status200_response.rb +50 -15
  281. data/lib/zernio-sdk/models/update_ad_set200_response.rb +26 -1
  282. data/lib/zernio-sdk/models/update_ad_set_request.rb +1 -1
  283. data/lib/zernio-sdk/models/update_ad_set_status200_response.rb +72 -4
  284. data/lib/zernio-sdk/models/update_blog_article_request.rb +257 -0
  285. data/lib/zernio-sdk/models/update_blog_request.rb +196 -0
  286. data/lib/zernio-sdk/models/update_bluesky_settings_request.rb +176 -0
  287. data/lib/zernio-sdk/models/validate_phone_number_kyc_address_request.rb +11 -1
  288. data/lib/zernio-sdk/models/webhook_payload_account_ads_initial_sync_completed.rb +1 -0
  289. data/lib/zernio-sdk/models/webhook_payload_account_connected.rb +1 -0
  290. data/lib/zernio-sdk/models/webhook_payload_account_disconnected.rb +1 -0
  291. data/lib/zernio-sdk/models/webhook_payload_ad_status_changed.rb +1 -1
  292. data/lib/zernio-sdk/models/webhook_payload_call_ended.rb +1 -0
  293. data/lib/zernio-sdk/models/webhook_payload_call_ended_call.rb +23 -1
  294. data/lib/zernio-sdk/models/webhook_payload_call_failed.rb +1 -0
  295. data/lib/zernio-sdk/models/webhook_payload_call_permission_request.rb +1 -0
  296. data/lib/zernio-sdk/models/webhook_payload_call_received.rb +1 -0
  297. data/lib/zernio-sdk/models/webhook_payload_comment.rb +1 -0
  298. data/lib/zernio-sdk/models/webhook_payload_comment_comment_author.rb +11 -1
  299. data/lib/zernio-sdk/models/webhook_payload_conversation_started.rb +1 -0
  300. data/lib/zernio-sdk/models/webhook_payload_external_post.rb +1 -0
  301. data/lib/zernio-sdk/models/webhook_payload_lead.rb +1 -0
  302. data/lib/zernio-sdk/models/webhook_payload_message.rb +1 -0
  303. data/lib/zernio-sdk/models/webhook_payload_message_deleted.rb +1 -0
  304. data/lib/zernio-sdk/models/webhook_payload_message_delivery_status.rb +2 -1
  305. data/lib/zernio-sdk/models/webhook_payload_message_edited.rb +1 -0
  306. data/lib/zernio-sdk/models/webhook_payload_message_message.rb +2 -2
  307. data/lib/zernio-sdk/models/webhook_payload_message_metadata.rb +23 -4
  308. data/lib/zernio-sdk/models/webhook_payload_message_metadata_referral.rb +15 -5
  309. data/lib/zernio-sdk/models/webhook_payload_message_metadata_unsupported.rb +169 -0
  310. data/lib/zernio-sdk/models/webhook_payload_message_sent.rb +1 -0
  311. data/lib/zernio-sdk/models/webhook_payload_post.rb +1 -0
  312. data/lib/zernio-sdk/models/webhook_payload_post_platform.rb +1 -0
  313. data/lib/zernio-sdk/models/webhook_payload_reaction.rb +1 -0
  314. data/lib/zernio-sdk/models/webhook_payload_reaction_reaction_sender.rb +1 -1
  315. data/lib/zernio-sdk/models/webhook_payload_referral.rb +347 -0
  316. data/lib/zernio-sdk/models/webhook_payload_referral_referral.rb +198 -0
  317. data/lib/zernio-sdk/models/webhook_payload_referral_referral_ads_context_data.rb +193 -0
  318. data/lib/zernio-sdk/models/webhook_payload_referral_sender.rb +176 -0
  319. data/lib/zernio-sdk/models/webhook_payload_review_new.rb +1 -0
  320. data/lib/zernio-sdk/models/webhook_payload_review_updated.rb +1 -0
  321. data/lib/zernio-sdk/models/webhook_payload_test.rb +1 -0
  322. data/lib/zernio-sdk/models/webhook_payload_whats_app_template_category_updated.rb +295 -0
  323. data/lib/zernio-sdk/models/webhook_payload_whats_app_template_category_updated_template.rb +353 -0
  324. data/lib/zernio-sdk/models/webhook_payload_whats_app_template_status_updated.rb +1 -1
  325. data/lib/zernio-sdk/models/workflow_node.rb +42 -4
  326. data/lib/zernio-sdk/models/x_article.rb +255 -0
  327. data/lib/zernio-sdk/models/x_article_block.rb +273 -0
  328. data/lib/zernio-sdk/models/x_article_block_data.rb +182 -0
  329. data/lib/zernio-sdk/models/x_article_content_state.rb +204 -0
  330. data/lib/zernio-sdk/models/x_article_cover.rb +204 -0
  331. data/lib/zernio-sdk/models/x_article_entity.rb +109 -0
  332. data/lib/zernio-sdk/models/x_article_entity_one_of.rb +199 -0
  333. data/lib/zernio-sdk/models/x_article_entity_one_of1.rb +199 -0
  334. data/lib/zernio-sdk/models/x_article_entity_one_of1_value.rb +242 -0
  335. data/lib/zernio-sdk/models/x_article_entity_one_of1_value_data.rb +164 -0
  336. data/lib/zernio-sdk/models/x_article_entity_one_of2.rb +199 -0
  337. data/lib/zernio-sdk/models/x_article_entity_one_of2_value.rb +242 -0
  338. data/lib/zernio-sdk/models/x_article_entity_one_of2_value_data.rb +214 -0
  339. data/lib/zernio-sdk/models/x_article_entity_one_of3.rb +199 -0
  340. data/lib/zernio-sdk/models/x_article_entity_one_of3_value.rb +242 -0
  341. data/lib/zernio-sdk/models/x_article_entity_one_of3_value_data.rb +173 -0
  342. data/lib/zernio-sdk/models/x_article_entity_one_of4.rb +199 -0
  343. data/lib/zernio-sdk/models/x_article_entity_one_of4_value.rb +242 -0
  344. data/lib/zernio-sdk/models/x_article_entity_one_of4_value_data.rb +164 -0
  345. data/lib/zernio-sdk/models/x_article_entity_one_of5.rb +199 -0
  346. data/lib/zernio-sdk/models/x_article_entity_one_of5_value.rb +242 -0
  347. data/lib/zernio-sdk/models/x_article_entity_one_of_value.rb +242 -0
  348. data/lib/zernio-sdk/models/x_article_entity_one_of_value_data.rb +173 -0
  349. data/lib/zernio-sdk/models/x_article_entity_range.rb +245 -0
  350. data/lib/zernio-sdk/models/x_article_inline_style_range.rb +259 -0
  351. data/lib/zernio-sdk/models/x_article_text_range.rb +237 -0
  352. data/lib/zernio-sdk/models/you_tube_video_retention_response.rb +1 -1
  353. data/lib/zernio-sdk/models/you_tube_video_retention_response_retention_curve_inner.rb +2 -2
  354. data/lib/zernio-sdk/version.rb +1 -1
  355. data/lib/zernio-sdk.rb +65 -0
  356. data/openapi.yaml +1956 -165
  357. data/spec/api/accounts_api_spec.rb +26 -1
  358. data/spec/api/ad_campaigns_api_spec.rb +9 -4
  359. data/spec/api/ad_insights_api_spec.rb +34 -0
  360. data/spec/api/ad_targeting_api_spec.rb +2 -2
  361. data/spec/api/blogs_api_spec.rb +174 -0
  362. data/spec/api/comments_api_spec.rb +5 -5
  363. data/spec/api/connect_api_spec.rb +27 -0
  364. data/spec/api/messages_api_spec.rb +2 -2
  365. data/spec/api/posts_api_spec.rb +1 -1
  366. data/spec/api/sms_api_spec.rb +1 -1
  367. data/spec/api/whats_app_api_spec.rb +13 -0
  368. data/spec/models/account_with_follower_stats_spec.rb +1 -1
  369. data/spec/models/ad_creative_spec.rb +6 -0
  370. data/spec/models/analytics_list_response_posts_inner_media_items_inner_spec.rb +58 -0
  371. data/spec/models/analytics_single_post_response_media_items_inner_spec.rb +20 -0
  372. data/spec/models/billing_snapshot_plan_spec.rb +6 -0
  373. data/spec/models/billing_snapshot_spec.rb +7 -1
  374. data/spec/models/blog_article_image_spec.rb +42 -0
  375. data/spec/models/blog_article_spec.rb +118 -0
  376. data/spec/models/blog_spec.rb +58 -0
  377. data/spec/models/bluesky_platform_data_spec.rb +6 -0
  378. data/spec/models/connect_shopify_with_token200_response_account_spec.rb +64 -0
  379. data/spec/models/connect_shopify_with_token200_response_spec.rb +36 -0
  380. data/spec/models/connect_shopify_with_token_request_spec.rb +48 -0
  381. data/spec/models/create_blog201_response_spec.rb +46 -0
  382. data/spec/models/create_blog_article201_response_spec.rb +46 -0
  383. data/spec/models/create_blog_article_request_image_spec.rb +42 -0
  384. data/spec/models/create_blog_article_request_seo_spec.rb +42 -0
  385. data/spec/models/create_blog_article_request_spec.rb +90 -0
  386. data/spec/models/create_blog_request_spec.rb +42 -0
  387. data/spec/models/create_inbox_conversation_request_spec.rb +6 -0
  388. data/spec/models/create_standalone_ad_request_spec.rb +16 -0
  389. data/spec/models/create_webhook_settings_request_spec.rb +1 -1
  390. data/spec/models/external_post_media_item_spec.rb +20 -0
  391. data/spec/models/external_post_summary_spec.rb +0 -6
  392. data/spec/models/get_account_health200_response_platform_connection_meta_error_spec.rb +48 -0
  393. data/spec/models/get_account_health200_response_platform_connection_spec.rb +58 -0
  394. data/spec/models/get_account_health200_response_spec.rb +6 -0
  395. data/spec/models/get_ad_analytics202_response_spec.rb +0 -4
  396. data/spec/models/get_ad_tree202_response_spec.rb +0 -4
  397. data/spec/models/get_ads_timeline202_response_spec.rb +0 -4
  398. data/spec/models/get_bluesky_settings200_response_spec.rb +36 -0
  399. data/spec/models/get_campaign_analytics202_response_spec.rb +0 -4
  400. data/spec/models/get_inbox_post_comments200_response_comments_inner_spec.rb +6 -0
  401. data/spec/models/get_phone_number_kyc_form200_response_spec.rb +6 -0
  402. data/spec/models/get_whats_app_number_kyc_form200_response_spec.rb +6 -0
  403. data/spec/models/inbox_webhook_message_spec.rb +1 -1
  404. data/spec/models/linked_in_platform_data_poll_spec.rb +52 -0
  405. data/spec/models/linked_in_platform_data_spec.rb +6 -0
  406. data/spec/models/list_ads202_response_spec.rb +0 -4
  407. data/spec/models/list_blog_articles200_response_spec.rb +52 -0
  408. data/spec/models/list_blogs200_response_spec.rb +52 -0
  409. data/spec/models/list_local_services_lead_conversations200_response_data_inner_message_spec.rb +42 -0
  410. data/spec/models/list_local_services_lead_conversations200_response_data_inner_phone_call_spec.rb +42 -0
  411. data/spec/models/list_local_services_lead_conversations200_response_data_inner_spec.rb +66 -0
  412. data/spec/models/list_local_services_lead_conversations200_response_spec.rb +48 -0
  413. data/spec/models/list_local_services_leads200_response_data_inner_contact_spec.rb +48 -0
  414. data/spec/models/list_local_services_leads200_response_data_inner_spec.rb +96 -0
  415. data/spec/models/list_local_services_leads200_response_spec.rb +48 -0
  416. data/spec/models/list_phone_numbers200_response_connected_inner_spec.rb +6 -0
  417. data/spec/models/list_phone_numbers200_response_numbers_inner_spec.rb +6 -0
  418. data/spec/models/list_whats_app_account_events200_response_events_inner_spec.rb +70 -0
  419. data/spec/models/list_whats_app_account_events200_response_spec.rb +36 -0
  420. data/spec/models/platform_target_spec.rb +1 -1
  421. data/spec/models/send_inbox_message_request_spec.rb +6 -0
  422. data/spec/models/social_account_spec.rb +1 -1
  423. data/spec/models/submit_phone_number_kyc_request_address_spec.rb +6 -0
  424. data/spec/models/twitter_platform_data_spec.rb +6 -0
  425. data/spec/models/update_ad_campaign_status200_response_spec.rb +8 -4
  426. data/spec/models/update_ad_set200_response_spec.rb +12 -0
  427. data/spec/models/update_ad_set_status200_response_spec.rb +22 -0
  428. data/spec/models/update_blog_article_request_spec.rb +90 -0
  429. data/spec/models/update_blog_request_spec.rb +42 -0
  430. data/spec/models/update_bluesky_settings_request_spec.rb +36 -0
  431. data/spec/models/update_webhook_settings_request_spec.rb +1 -1
  432. data/spec/models/validate_phone_number_kyc_address_request_spec.rb +6 -0
  433. data/spec/models/webhook_payload_call_ended_call_spec.rb +12 -0
  434. data/spec/models/webhook_payload_comment_comment_author_spec.rb +6 -0
  435. data/spec/models/webhook_payload_message_message_spec.rb +1 -1
  436. data/spec/models/webhook_payload_message_metadata_referral_spec.rb +6 -0
  437. data/spec/models/webhook_payload_message_metadata_spec.rb +12 -0
  438. data/spec/models/webhook_payload_message_metadata_unsupported_spec.rb +48 -0
  439. data/spec/models/webhook_payload_referral_referral_ads_context_data_spec.rb +66 -0
  440. data/spec/models/webhook_payload_referral_referral_spec.rb +66 -0
  441. data/spec/models/webhook_payload_referral_sender_spec.rb +42 -0
  442. data/spec/models/webhook_payload_referral_spec.rb +76 -0
  443. data/spec/models/webhook_payload_whats_app_template_category_updated_spec.rb +64 -0
  444. data/spec/models/webhook_payload_whats_app_template_category_updated_template_spec.rb +94 -0
  445. data/spec/models/webhook_spec.rb +1 -1
  446. data/spec/models/workflow_node_spec.rb +6 -0
  447. data/spec/models/x_article_block_data_spec.rb +54 -0
  448. data/spec/models/x_article_block_spec.rb +70 -0
  449. data/spec/models/x_article_content_state_spec.rb +42 -0
  450. data/spec/models/x_article_cover_spec.rb +42 -0
  451. data/spec/models/x_article_entity_one_of1_spec.rb +42 -0
  452. data/spec/models/x_article_entity_one_of1_value_data_spec.rb +36 -0
  453. data/spec/models/x_article_entity_one_of1_value_spec.rb +56 -0
  454. data/spec/models/x_article_entity_one_of2_spec.rb +42 -0
  455. data/spec/models/x_article_entity_one_of2_value_data_spec.rb +48 -0
  456. data/spec/models/x_article_entity_one_of2_value_spec.rb +56 -0
  457. data/spec/models/x_article_entity_one_of3_spec.rb +42 -0
  458. data/spec/models/x_article_entity_one_of3_value_data_spec.rb +36 -0
  459. data/spec/models/x_article_entity_one_of3_value_spec.rb +56 -0
  460. data/spec/models/x_article_entity_one_of4_spec.rb +42 -0
  461. data/spec/models/x_article_entity_one_of4_value_data_spec.rb +36 -0
  462. data/spec/models/x_article_entity_one_of4_value_spec.rb +56 -0
  463. data/spec/models/x_article_entity_one_of5_spec.rb +42 -0
  464. data/spec/models/x_article_entity_one_of5_value_spec.rb +56 -0
  465. data/spec/models/x_article_entity_one_of_spec.rb +42 -0
  466. data/spec/models/x_article_entity_one_of_value_data_spec.rb +36 -0
  467. data/spec/models/x_article_entity_one_of_value_spec.rb +56 -0
  468. data/spec/models/x_article_entity_range_spec.rb +48 -0
  469. data/spec/models/x_article_entity_spec.rb +32 -0
  470. data/spec/models/x_article_inline_style_range_spec.rb +52 -0
  471. data/spec/models/x_article_spec.rb +58 -0
  472. data/spec/models/x_article_text_range_spec.rb +48 -0
  473. data/zernio-sdk-0.0.718.gem +0 -0
  474. metadata +1867 -1607
  475. data/zernio-sdk-0.0.716.gem +0 -0
@@ -0,0 +1,204 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ # X's snake_case content-state shape. Standard DraftJS camelCase fields such as entityMap, inlineStyleRanges, and entityRanges are rejected.
18
+ class XArticleContentState < ApiModelBase
19
+ attr_accessor :blocks
20
+
21
+ attr_accessor :entities
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'blocks' => :'blocks',
27
+ :'entities' => :'entities'
28
+ }
29
+ end
30
+
31
+ # Returns attribute mapping this model knows about
32
+ def self.acceptable_attribute_map
33
+ attribute_map
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ acceptable_attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'blocks' => :'Array<XArticleBlock>',
45
+ :'entities' => :'Array<XArticleEntity>'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::XArticleContentState` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ acceptable_attribute_map = self.class.acceptable_attribute_map
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!acceptable_attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::XArticleContentState`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'blocks')
72
+ if (value = attributes[:'blocks']).is_a?(Array)
73
+ self.blocks = value
74
+ end
75
+ else
76
+ self.blocks = nil
77
+ end
78
+
79
+ if attributes.key?(:'entities')
80
+ if (value = attributes[:'entities']).is_a?(Array)
81
+ self.entities = value
82
+ end
83
+ else
84
+ self.entities = nil
85
+ end
86
+ end
87
+
88
+ # Show invalid properties with the reasons. Usually used together with valid?
89
+ # @return Array for valid properties with the reasons
90
+ def list_invalid_properties
91
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
92
+ invalid_properties = Array.new
93
+ if @blocks.nil?
94
+ invalid_properties.push('invalid value for "blocks", blocks cannot be nil.')
95
+ end
96
+
97
+ if @blocks.length < 1
98
+ invalid_properties.push('invalid value for "blocks", number of items must be greater than or equal to 1.')
99
+ end
100
+
101
+ if @entities.nil?
102
+ invalid_properties.push('invalid value for "entities", entities cannot be nil.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ warn '[DEPRECATED] the `valid?` method is obsolete'
112
+ return false if @blocks.nil?
113
+ return false if @blocks.length < 1
114
+ return false if @entities.nil?
115
+ true
116
+ end
117
+
118
+ # Custom attribute writer method with validation
119
+ # @param [Object] blocks Value to be assigned
120
+ def blocks=(blocks)
121
+ if blocks.nil?
122
+ fail ArgumentError, 'blocks cannot be nil'
123
+ end
124
+
125
+ if blocks.length < 1
126
+ fail ArgumentError, 'invalid value for "blocks", number of items must be greater than or equal to 1.'
127
+ end
128
+
129
+ @blocks = blocks
130
+ end
131
+
132
+ # Custom attribute writer method with validation
133
+ # @param [Object] entities Value to be assigned
134
+ def entities=(entities)
135
+ if entities.nil?
136
+ fail ArgumentError, 'entities cannot be nil'
137
+ end
138
+
139
+ @entities = entities
140
+ end
141
+
142
+ # Checks equality by comparing each attribute.
143
+ # @param [Object] Object to be compared
144
+ def ==(o)
145
+ return true if self.equal?(o)
146
+ self.class == o.class &&
147
+ blocks == o.blocks &&
148
+ entities == o.entities
149
+ end
150
+
151
+ # @see the `==` method
152
+ # @param [Object] Object to be compared
153
+ def eql?(o)
154
+ self == o
155
+ end
156
+
157
+ # Calculates hash code according to all attributes.
158
+ # @return [Integer] Hash code
159
+ def hash
160
+ [blocks, entities].hash
161
+ end
162
+
163
+ # Builds the object from hash
164
+ # @param [Hash] attributes Model attributes in the form of hash
165
+ # @return [Object] Returns the model itself
166
+ def self.build_from_hash(attributes)
167
+ return nil unless attributes.is_a?(Hash)
168
+ attributes = attributes.transform_keys(&:to_sym)
169
+ transformed_hash = {}
170
+ openapi_types.each_pair do |key, type|
171
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
172
+ transformed_hash["#{key}"] = nil
173
+ elsif type =~ /\AArray<(.*)>/i
174
+ # check to ensure the input is an array given that the attribute
175
+ # is documented as an array but the input is not
176
+ if attributes[attribute_map[key]].is_a?(Array)
177
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
178
+ end
179
+ elsif !attributes[attribute_map[key]].nil?
180
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
181
+ end
182
+ end
183
+ new(transformed_hash)
184
+ end
185
+
186
+ # Returns the object in the form of hash
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_hash
189
+ hash = {}
190
+ self.class.attribute_map.each_pair do |attr, param|
191
+ value = self.send(attr)
192
+ if value.nil?
193
+ is_nullable = self.class.openapi_nullable.include?(attr)
194
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
195
+ end
196
+
197
+ hash[param] = _to_hash(value)
198
+ end
199
+ hash
200
+ end
201
+
202
+ end
203
+
204
+ end
@@ -0,0 +1,204 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ class XArticleCover < ApiModelBase
18
+ # Public JPG, JPEG, PNG, or WebP URL. GIF, MP4, AVIF, extensionless URLs, and caller-supplied native media IDs are rejected.
19
+ attr_accessor :url
20
+
21
+ attr_accessor :alt_text
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'url' => :'url',
27
+ :'alt_text' => :'altText'
28
+ }
29
+ end
30
+
31
+ # Returns attribute mapping this model knows about
32
+ def self.acceptable_attribute_map
33
+ attribute_map
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ acceptable_attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'url' => :'String',
45
+ :'alt_text' => :'String'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::XArticleCover` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ acceptable_attribute_map = self.class.acceptable_attribute_map
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!acceptable_attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::XArticleCover`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'url')
72
+ self.url = attributes[:'url']
73
+ else
74
+ self.url = nil
75
+ end
76
+
77
+ if attributes.key?(:'alt_text')
78
+ self.alt_text = attributes[:'alt_text']
79
+ end
80
+ end
81
+
82
+ # Show invalid properties with the reasons. Usually used together with valid?
83
+ # @return Array for valid properties with the reasons
84
+ def list_invalid_properties
85
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
86
+ invalid_properties = Array.new
87
+ if @url.nil?
88
+ invalid_properties.push('invalid value for "url", url cannot be nil.')
89
+ end
90
+
91
+ pattern = Regexp.new(/^https?:\/\/.+\.(?:[jJ][pP][eE]?[gG]|[pP][nN][gG]|[wW][eE][bB][pP])(?:[?#].*)?$/)
92
+ if @url !~ pattern
93
+ invalid_properties.push("invalid value for \"url\", must conform to the pattern #{pattern}.")
94
+ end
95
+
96
+ if !@alt_text.nil? && @alt_text.to_s.length > 1000
97
+ invalid_properties.push('invalid value for "alt_text", the character length must be smaller than or equal to 1000.')
98
+ end
99
+
100
+ invalid_properties
101
+ end
102
+
103
+ # Check to see if the all the properties in the model are valid
104
+ # @return true if the model is valid
105
+ def valid?
106
+ warn '[DEPRECATED] the `valid?` method is obsolete'
107
+ return false if @url.nil?
108
+ return false if @url !~ Regexp.new(/^https?:\/\/.+\.(?:[jJ][pP][eE]?[gG]|[pP][nN][gG]|[wW][eE][bB][pP])(?:[?#].*)?$/)
109
+ return false if !@alt_text.nil? && @alt_text.to_s.length > 1000
110
+ true
111
+ end
112
+
113
+ # Custom attribute writer method with validation
114
+ # @param [Object] url Value to be assigned
115
+ def url=(url)
116
+ if url.nil?
117
+ fail ArgumentError, 'url cannot be nil'
118
+ end
119
+
120
+ pattern = Regexp.new(/^https?:\/\/.+\.(?:[jJ][pP][eE]?[gG]|[pP][nN][gG]|[wW][eE][bB][pP])(?:[?#].*)?$/)
121
+ if url !~ pattern
122
+ fail ArgumentError, "invalid value for \"url\", must conform to the pattern #{pattern}."
123
+ end
124
+
125
+ @url = url
126
+ end
127
+
128
+ # Custom attribute writer method with validation
129
+ # @param [Object] alt_text Value to be assigned
130
+ def alt_text=(alt_text)
131
+ if alt_text.nil?
132
+ fail ArgumentError, 'alt_text cannot be nil'
133
+ end
134
+
135
+ if alt_text.to_s.length > 1000
136
+ fail ArgumentError, 'invalid value for "alt_text", the character length must be smaller than or equal to 1000.'
137
+ end
138
+
139
+ @alt_text = alt_text
140
+ end
141
+
142
+ # Checks equality by comparing each attribute.
143
+ # @param [Object] Object to be compared
144
+ def ==(o)
145
+ return true if self.equal?(o)
146
+ self.class == o.class &&
147
+ url == o.url &&
148
+ alt_text == o.alt_text
149
+ end
150
+
151
+ # @see the `==` method
152
+ # @param [Object] Object to be compared
153
+ def eql?(o)
154
+ self == o
155
+ end
156
+
157
+ # Calculates hash code according to all attributes.
158
+ # @return [Integer] Hash code
159
+ def hash
160
+ [url, alt_text].hash
161
+ end
162
+
163
+ # Builds the object from hash
164
+ # @param [Hash] attributes Model attributes in the form of hash
165
+ # @return [Object] Returns the model itself
166
+ def self.build_from_hash(attributes)
167
+ return nil unless attributes.is_a?(Hash)
168
+ attributes = attributes.transform_keys(&:to_sym)
169
+ transformed_hash = {}
170
+ openapi_types.each_pair do |key, type|
171
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
172
+ transformed_hash["#{key}"] = nil
173
+ elsif type =~ /\AArray<(.*)>/i
174
+ # check to ensure the input is an array given that the attribute
175
+ # is documented as an array but the input is not
176
+ if attributes[attribute_map[key]].is_a?(Array)
177
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
178
+ end
179
+ elsif !attributes[attribute_map[key]].nil?
180
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
181
+ end
182
+ end
183
+ new(transformed_hash)
184
+ end
185
+
186
+ # Returns the object in the form of hash
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_hash
189
+ hash = {}
190
+ self.class.attribute_map.each_pair do |attr, param|
191
+ value = self.send(attr)
192
+ if value.nil?
193
+ is_nullable = self.class.openapi_nullable.include?(attr)
194
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
195
+ end
196
+
197
+ hash[param] = _to_hash(value)
198
+ end
199
+ hash
200
+ end
201
+
202
+ end
203
+
204
+ end
@@ -0,0 +1,109 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ # Entity keys must be unique decimal strings matching their zero-based array index (`\"0\"`, `\"1\"`, ...).
18
+ module XArticleEntity
19
+ class << self
20
+ # List of class defined in oneOf (OpenAPI v3)
21
+ def openapi_one_of
22
+ [
23
+ :'XArticleEntityOneOf',
24
+ :'XArticleEntityOneOf1',
25
+ :'XArticleEntityOneOf2',
26
+ :'XArticleEntityOneOf3',
27
+ :'XArticleEntityOneOf4',
28
+ :'XArticleEntityOneOf5'
29
+ ]
30
+ end
31
+
32
+ # Builds the object
33
+ # @param [Mixed] Data to be matched against the list of oneOf items
34
+ # @return [Object] Returns the model or the data itself
35
+ def build(data)
36
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
37
+ # Note:
38
+ # - We do not attempt to check whether exactly one item matches.
39
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
40
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
41
+ # - TODO: scalar values are de facto behaving as if they were nullable.
42
+ # - TODO: logging when debugging is set.
43
+ openapi_one_of.each do |klass|
44
+ begin
45
+ next if klass == :AnyType # "nullable: true"
46
+ return find_and_cast_into_type(klass, data)
47
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
48
+ end
49
+ end
50
+
51
+ openapi_one_of.include?(:AnyType) ? data : nil
52
+ end
53
+
54
+ private
55
+
56
+ SchemaMismatchError = Class.new(StandardError)
57
+
58
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
59
+ def find_and_cast_into_type(klass, data)
60
+ return if data.nil?
61
+
62
+ case klass.to_s
63
+ when 'Boolean'
64
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
65
+ when 'Float'
66
+ return data if data.instance_of?(Float)
67
+ when 'Integer'
68
+ return data if data.instance_of?(Integer)
69
+ when 'Time'
70
+ return Time.parse(data)
71
+ when 'Date'
72
+ return Date.iso8601(data)
73
+ when 'String'
74
+ return data if data.instance_of?(String)
75
+ when 'Object' # "type: object"
76
+ return data if data.instance_of?(Hash)
77
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
78
+ if data.instance_of?(Array)
79
+ sub_type = Regexp.last_match[:sub_type]
80
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
81
+ end
82
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
83
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
84
+ sub_type = Regexp.last_match[:sub_type]
85
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
86
+ end
87
+ else # model
88
+ const = Zernio.const_get(klass)
89
+ if const
90
+ if const.respond_to?(:openapi_one_of) # nested oneOf model
91
+ model = const.build(data)
92
+ return model if model
93
+ else
94
+ # raise if data contains keys that are not known to the model
95
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
96
+ model = const.build_from_hash(data)
97
+ return model if model
98
+ end
99
+ end
100
+ end
101
+
102
+ raise # if no match by now, raise
103
+ rescue
104
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
105
+ end
106
+ end
107
+ end
108
+
109
+ end