rcs 1.0.17 → 2.0.0.pre.rc.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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/lib/environment.rb +1 -1
  3. data/lib/rcs/brands/client.rb +631 -0
  4. data/lib/rcs/brands/types/autofill_brand_schema_options.rb +61 -0
  5. data/lib/rcs/brands/types/brand_contact.rb +84 -0
  6. data/lib/rcs/campaigns/client.rb +44 -0
  7. data/lib/rcs/campaigns/dlc/client.rb +480 -0
  8. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords.rb +99 -0
  9. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_help.rb +74 -0
  10. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_opt_in.rb +74 -0
  11. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_keywords_opt_out.rb +74 -0
  12. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_links.rb +74 -0
  13. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_options.rb +110 -0
  14. data/lib/rcs/campaigns/dlc/types/upsert_dlc_schema_use_case.rb +76 -0
  15. data/lib/rcs/campaigns/rcs/client.rb +457 -0
  16. data/lib/rcs/campaigns/rcs/types/rcs_autofill_response.rb +155 -0
  17. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent.rb +140 -0
  18. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_emails_item.rb +73 -0
  19. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_phones_item.rb +73 -0
  20. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_agent_websites_item.rb +73 -0
  21. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_links.rb +74 -0
  22. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_opt_in.rb +75 -0
  23. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_opt_out.rb +76 -0
  24. data/lib/rcs/campaigns/rcs/types/upsert_rcs_schema_use_case.rb +75 -0
  25. data/lib/rcs/campaigns/toll_free/client.rb +429 -0
  26. data/lib/rcs/campaigns/toll_free/types/toll_free_autofill_response.rb +130 -0
  27. data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_opt_in.rb +86 -0
  28. data/lib/rcs/campaigns/toll_free/types/upsert_toll_free_schema_use_case.rb +75 -0
  29. data/lib/rcs/contacts/client.rb +275 -0
  30. data/lib/rcs/conversations/client.rb +273 -0
  31. data/lib/rcs/message/client.rb +30 -0
  32. data/lib/rcs/message/sms/client.rb +96 -0
  33. data/lib/rcs/messages/client.rb +185 -0
  34. data/lib/rcs/messages/mms/client.rb +98 -0
  35. data/lib/rcs/messages/rcs/client.rb +94 -0
  36. data/lib/rcs/messages/send/client.rb +318 -0
  37. data/lib/rcs/messages/send/types/send_mms_response.rb +60 -0
  38. data/lib/rcs/messages/send/types/send_mms_schema_options.rb +108 -0
  39. data/lib/rcs/messages/send/types/send_rcs_response.rb +60 -0
  40. data/lib/rcs/messages/send/types/send_sms_response.rb +60 -0
  41. data/lib/rcs/messages/send/types/send_sms_schema_options.rb +81 -0
  42. data/lib/rcs/messages/types/message_reaction_schema_options.rb +71 -0
  43. data/lib/rcs/phone_numbers/campaign/client.rb +179 -0
  44. data/lib/rcs/phone_numbers/client.rb +345 -0
  45. data/lib/rcs/phone_numbers/types/phone_details_schema_level.rb +16 -0
  46. data/lib/rcs/phone_numbers/types/phone_details_schema_options.rb +93 -0
  47. data/lib/rcs/phone_numbers/types/phone_details_schema_options_enhanced_contact_info.rb +64 -0
  48. data/lib/rcs/phone_numbers/types/phone_numbers_get_response.rb +58 -0
  49. data/lib/rcs/phone_numbers/types/search_schema_location.rb +96 -0
  50. data/lib/rcs/phone_numbers/types/search_schema_number.rb +81 -0
  51. data/lib/rcs/phone_numbers/types/search_schema_options.rb +62 -0
  52. data/lib/rcs/phone_numbers/webhook/client.rb +191 -0
  53. data/lib/rcs/status/client.rb +30 -0
  54. data/lib/rcs/status/get/client.rb +367 -0
  55. data/lib/rcs/tools/client.rb +32 -199
  56. data/lib/rcs/tools/contact_card/client.rb +285 -0
  57. data/lib/rcs/tools/contact_card/types/get_v_card_schema_options.rb +67 -0
  58. data/lib/rcs/tools/file/client.rb +138 -0
  59. data/lib/rcs/tools/file/types/file_upload_schema_options.rb +70 -0
  60. data/lib/rcs/tools/file/types/file_upload_schema_options_download.rb +66 -0
  61. data/lib/rcs/tools/url/client.rb +245 -0
  62. data/lib/rcs/types/advanced_phone_information.rb +147 -0
  63. data/lib/rcs/types/advanced_phone_information_carrier.rb +90 -0
  64. data/lib/rcs/types/advanced_phone_information_contact.rb +146 -0
  65. data/lib/rcs/types/advanced_phone_information_location.rb +142 -0
  66. data/lib/rcs/types/advanced_phone_information_location_coordinates.rb +73 -0
  67. data/lib/rcs/types/advanced_phone_information_location_country.rb +77 -0
  68. data/lib/rcs/types/advanced_phone_information_type.rb +97 -0
  69. data/lib/rcs/types/advanced_phone_information_type_recommendation.rb +15 -0
  70. data/lib/rcs/types/agent.rb +68 -0
  71. data/lib/rcs/types/attach_webhook_params.rb +60 -0
  72. data/lib/rcs/types/attach_webhook_response_webhook.rb +86 -0
  73. data/lib/rcs/types/attach_webhook_schema_name.rb +88 -0
  74. data/lib/rcs/types/attach_webhook_schema_webhook_id.rb +77 -0
  75. data/lib/rcs/types/attached_phone_number_result.rb +75 -0
  76. data/lib/rcs/types/autofill_campaign_params.rb +69 -0
  77. data/lib/rcs/types/autofill_dlc_campaign_response.rb +169 -0
  78. data/lib/rcs/types/autofill_dlc_response_keywords.rb +95 -0
  79. data/lib/rcs/types/autofill_dlc_response_keywords_help.rb +70 -0
  80. data/lib/rcs/{send/types/send_sms_response.rb → types/autofill_dlc_response_keywords_opt_in.rb} +18 -17
  81. data/lib/rcs/types/autofill_dlc_response_keywords_opt_out.rb +70 -0
  82. data/lib/rcs/types/autofill_dlc_response_links.rb +70 -0
  83. data/lib/rcs/types/autofill_dlc_response_options.rb +106 -0
  84. data/lib/rcs/types/autofill_dlc_response_use_case.rb +72 -0
  85. data/lib/rcs/types/bad_request_error_body.rb +44 -45
  86. data/lib/rcs/types/basic_phone_information.rb +127 -0
  87. data/lib/rcs/{company/types/company_register_response_brand.rb → types/basic_phone_information_contact.rb} +12 -21
  88. data/lib/rcs/types/basic_phone_information_location.rb +74 -0
  89. data/lib/rcs/types/basic_phone_information_location_country.rb +75 -0
  90. data/lib/rcs/types/brand_status.rb +92 -0
  91. data/lib/rcs/types/brand_status_enum.rb +21 -0
  92. data/lib/rcs/types/buy_response_capabilities.rb +77 -0
  93. data/lib/rcs/types/campaign_enum.rb +15 -0
  94. data/lib/rcs/types/campaign_query.rb +69 -0
  95. data/lib/rcs/{company/types/company_register_request_company_id.rb → types/campaign_submission_result.rb} +15 -16
  96. data/lib/rcs/types/campaign_validation_response_errors_item.rb +76 -0
  97. data/lib/rcs/types/campaign_validation_result.rb +71 -0
  98. data/lib/rcs/types/click_action.rb +73 -0
  99. data/lib/rcs/types/click_action_data.rb +56 -0
  100. data/lib/rcs/types/click_action_data_metadata.rb +69 -0
  101. data/lib/rcs/types/company_sector_enum.rb +26 -0
  102. data/lib/rcs/types/company_type_enum.rb +14 -0
  103. data/lib/rcs/types/configured_webhook.rb +85 -0
  104. data/lib/rcs/types/contact.rb +105 -0
  105. data/lib/rcs/types/contact_id.rb +57 -0
  106. data/lib/rcs/types/conversation.rb +146 -0
  107. data/lib/rcs/types/conversation_contact.rb +68 -0
  108. data/lib/rcs/types/conversation_list.rb +79 -0
  109. data/lib/rcs/types/conversation_sender.rb +60 -0
  110. data/lib/rcs/types/create_url_options.rb +61 -0
  111. data/lib/rcs/types/detached_phone_number_result.rb +75 -0
  112. data/lib/rcs/types/detached_webhook_info.rb +74 -0
  113. data/lib/rcs/types/detailed_phone_number_enum.rb +25 -0
  114. data/lib/rcs/types/dlc_assignment_status_enum.rb +19 -0
  115. data/lib/rcs/types/dlc_campaign_status.rb +107 -0
  116. data/lib/rcs/types/dlc_campaign_use_case_enum.rb +35 -0
  117. data/lib/rcs/types/dlc_campaign_with_extended_brand_and_status.rb +194 -0
  118. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords.rb +94 -0
  119. data/lib/rcs/types/dlc_with_extended_brand_and_status_keywords_help.rb +72 -0
  120. data/lib/rcs/{send/types/send_mms_response.rb → types/dlc_with_extended_brand_and_status_keywords_opt_in.rb} +20 -17
  121. data/lib/rcs/{send/types/send_rcs_response.rb → types/dlc_with_extended_brand_and_status_keywords_opt_out.rb} +20 -17
  122. data/lib/rcs/types/dlc_with_extended_brand_and_status_links.rb +70 -0
  123. data/lib/rcs/types/dlc_with_extended_brand_and_status_options.rb +106 -0
  124. data/lib/rcs/types/dlc_with_extended_brand_and_status_use_case.rb +72 -0
  125. data/lib/rcs/types/enhanced_contact.rb +9 -0
  126. data/lib/rcs/types/enhanced_contact_item.rb +104 -0
  127. data/lib/rcs/types/error.rb +61 -0
  128. data/lib/rcs/types/extended_brand.rb +194 -0
  129. data/lib/rcs/types/extended_brand_with_vetting.rb +226 -0
  130. data/lib/rcs/types/extended_rcs_campaign.rb +173 -0
  131. data/lib/rcs/{company/types/company_register_request.rb → types/get_conversation_params.rb} +13 -12
  132. data/lib/rcs/types/get_conversation_request_id.rb +58 -0
  133. data/lib/rcs/types/get_conversation_request_recipient.rb +72 -0
  134. data/lib/rcs/types/get_dlc_campaign_status_response_updates.rb +96 -0
  135. data/lib/rcs/types/get_toll_free_campaign_status_response_updates.rb +92 -0
  136. data/lib/rcs/types/inbound_button.rb +56 -0
  137. data/lib/rcs/types/link_click_event.rb +465 -0
  138. data/lib/rcs/{company/types/company_update_response.rb → types/location_share_action.rb} +19 -19
  139. data/lib/rcs/types/location_share_action_data.rb +89 -0
  140. data/lib/rcs/types/message.rb +174 -0
  141. data/lib/rcs/types/message_content.rb +85 -0
  142. data/lib/rcs/types/message_method_enum.rb +12 -0
  143. data/lib/rcs/types/message_protocol_enum.rb +12 -0
  144. data/lib/rcs/types/message_schedule.rb +94 -0
  145. data/lib/rcs/types/message_status_enum.rb +16 -0
  146. data/lib/rcs/types/message_volume_enum.rb +20 -0
  147. data/lib/rcs/types/messaging_profile_enum.rb +11 -0
  148. data/lib/rcs/types/mms_content.rb +74 -0
  149. data/lib/rcs/types/mms_validation_response_segments.rb +85 -0
  150. data/lib/rcs/types/mms_validation_response_segments_value_item.rb +75 -0
  151. data/lib/rcs/types/mms_validation_result.rb +82 -0
  152. data/lib/rcs/types/nullable_contact.rb +84 -0
  153. data/lib/rcs/types/number_format.rb +79 -0
  154. data/lib/rcs/types/opt_in_method_enum.rb +13 -0
  155. data/lib/rcs/types/optional_brand_info.rb +145 -0
  156. data/lib/rcs/types/optional_contact.rb +83 -0
  157. data/lib/rcs/types/optional_contacts.rb +84 -0
  158. data/lib/rcs/types/phone.rb +101 -0
  159. data/lib/rcs/types/phone_capabilities.rb +75 -0
  160. data/lib/rcs/types/phone_enum.rb +13 -0
  161. data/lib/rcs/types/phone_feature_enum.rb +18 -0
  162. data/lib/rcs/types/phone_number_campaign_attach_failed_item.rb +67 -0
  163. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item.rb +75 -0
  164. data/lib/rcs/types/phone_number_campaign_attach_phone_numbers_item_campaign.rb +78 -0
  165. data/lib/rcs/types/phone_number_campaign_detach_failed_item.rb +67 -0
  166. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item.rb +75 -0
  167. data/lib/rcs/types/phone_number_campaign_detach_phone_numbers_item_campaign.rb +78 -0
  168. data/lib/rcs/types/phone_number_cost.rb +75 -0
  169. data/lib/rcs/types/phone_number_details.rb +110 -0
  170. data/lib/rcs/types/phone_number_enum.rb +18 -0
  171. data/lib/rcs/types/phone_number_region.rb +91 -0
  172. data/lib/rcs/types/phone_number_status.rb +90 -0
  173. data/lib/rcs/types/phone_number_status_enum.rb +16 -0
  174. data/lib/rcs/types/pinnacle_file_upload_metadata.rb +84 -0
  175. data/lib/rcs/types/pinnacle_url_config.rb +71 -0
  176. data/lib/rcs/types/profile_status_enum.rb +17 -0
  177. data/lib/rcs/types/purchased_number.rb +75 -0
  178. data/lib/rcs/types/rcs.rb +70 -0
  179. data/lib/rcs/types/rcs_base.rb +82 -0
  180. data/lib/rcs/types/rcs_base_options.rb +100 -0
  181. data/lib/rcs/types/rcs_button_call.rb +68 -0
  182. data/lib/rcs/types/rcs_button_content.rb +148 -0
  183. data/lib/rcs/types/rcs_button_open_url.rb +68 -0
  184. data/lib/rcs/types/rcs_button_request_user_location.rb +58 -0
  185. data/lib/rcs/types/rcs_button_schedule_event.rb +98 -0
  186. data/lib/rcs/types/rcs_button_send_location.rb +74 -0
  187. data/lib/rcs/types/rcs_button_send_location_lat_long.rb +68 -0
  188. data/lib/rcs/types/rcs_button_trigger.rb +78 -0
  189. data/lib/rcs/types/rcs_campaign.rb +143 -0
  190. data/lib/rcs/types/rcs_campaign_opt_in_method_enum.rb +15 -0
  191. data/lib/rcs/types/rcs_campaign_schema_agent.rb +134 -0
  192. data/lib/rcs/types/rcs_campaign_schema_agent_emails_item.rb +69 -0
  193. data/lib/rcs/types/rcs_campaign_schema_agent_phones_item.rb +69 -0
  194. data/lib/rcs/types/rcs_campaign_schema_agent_websites_item.rb +69 -0
  195. data/lib/rcs/types/rcs_campaign_schema_extra_agent.rb +134 -0
  196. data/lib/rcs/types/rcs_campaign_schema_extra_agent_emails_item.rb +70 -0
  197. data/lib/rcs/types/rcs_campaign_schema_extra_agent_phones_item.rb +70 -0
  198. data/lib/rcs/types/rcs_campaign_schema_extra_agent_websites_item.rb +71 -0
  199. data/lib/rcs/types/rcs_campaign_schema_extra_links.rb +70 -0
  200. data/lib/rcs/types/rcs_campaign_schema_extra_opt_in.rb +71 -0
  201. data/lib/rcs/types/rcs_campaign_schema_extra_opt_out.rb +70 -0
  202. data/lib/rcs/types/rcs_campaign_schema_extra_use_case.rb +71 -0
  203. data/lib/rcs/types/rcs_campaign_schema_links.rb +70 -0
  204. data/lib/rcs/types/rcs_campaign_schema_opt_in.rb +71 -0
  205. data/lib/rcs/types/rcs_campaign_schema_opt_out.rb +70 -0
  206. data/lib/rcs/types/rcs_campaign_schema_use_case.rb +71 -0
  207. data/lib/rcs/types/rcs_campaign_status.rb +86 -0
  208. data/lib/rcs/types/rcs_campaign_use_case_enum.rb +23 -0
  209. data/lib/rcs/types/rcs_card.rb +110 -0
  210. data/lib/rcs/types/rcs_cards.rb +79 -0
  211. data/lib/rcs/types/rcs_cards_cards_item.rb +88 -0
  212. data/lib/rcs/types/rcs_cards_content.rb +79 -0
  213. data/lib/rcs/types/rcs_cards_content_cards_item.rb +94 -0
  214. data/lib/rcs/types/rcs_content.rb +72 -0
  215. data/lib/rcs/types/rcs_media.rb +110 -0
  216. data/lib/rcs/types/rcs_media_content.rb +81 -0
  217. data/lib/rcs/types/rcs_media_details_content.rb +77 -0
  218. data/lib/rcs/types/rcs_text.rb +106 -0
  219. data/lib/rcs/types/rcs_text_content.rb +72 -0
  220. data/lib/rcs/types/rcs_validate_content.rb +70 -0
  221. data/lib/rcs/{company/types/company_register_response.rb → types/rcs_validate_content_media.rb} +19 -21
  222. data/lib/rcs/types/rcs_validation_result.rb +76 -0
  223. data/lib/rcs/types/reaction_result.rb +67 -0
  224. data/lib/rcs/types/scheduled_messaage.rb +73 -0
  225. data/lib/rcs/types/scheduled_send_response_config.rb +89 -0
  226. data/lib/rcs/types/send_sms_response_segments.rb +69 -0
  227. data/lib/rcs/types/send_sms_response_segments_encoding.rb +11 -0
  228. data/lib/rcs/types/sent_mms_details.rb +102 -0
  229. data/lib/rcs/types/sent_rcs_details.rb +105 -0
  230. data/lib/rcs/types/sent_sms_details.rb +108 -0
  231. data/lib/rcs/types/shortened_url.rb +77 -0
  232. data/lib/rcs/types/shortened_url_with_click_data.rb +90 -0
  233. data/lib/rcs/types/sms_content.rb +58 -0
  234. data/lib/rcs/types/sms_validation_response_segments.rb +80 -0
  235. data/lib/rcs/types/sms_validation_response_segments_gsm_7.rb +75 -0
  236. data/lib/rcs/types/sms_validation_response_segments_utf_16.rb +68 -0
  237. data/lib/rcs/types/sms_validation_response_total.rb +75 -0
  238. data/lib/rcs/types/sms_validation_result.rb +102 -0
  239. data/lib/rcs/types/sub_use_case_enum.rb +19 -0
  240. data/lib/rcs/types/submission_results.rb +57 -0
  241. data/lib/rcs/types/successful_conversation_update.rb +58 -0
  242. data/lib/rcs/types/toll_free_campaign.rb +118 -0
  243. data/lib/rcs/types/toll_free_campaign_schema_opt_in.rb +78 -0
  244. data/lib/rcs/types/toll_free_campaign_schema_use_case.rb +71 -0
  245. data/lib/rcs/types/toll_free_campaign_status.rb +91 -0
  246. data/lib/rcs/types/toll_free_campaign_use_case_enum.rb +52 -0
  247. data/lib/rcs/types/toll_free_campaign_with_extended_brand_and_status.rb +155 -0
  248. data/lib/rcs/types/toll_free_status_enum.rb +20 -0
  249. data/lib/rcs/types/tracking.rb +17 -0
  250. data/lib/rcs/types/updated_contact_id.rb +57 -0
  251. data/lib/rcs/types/upload_results.rb +80 -0
  252. data/lib/rcs/types/v_card_address_schema_type_item.rb +15 -0
  253. data/lib/rcs/types/v_card_data.rb +237 -0
  254. data/lib/rcs/types/v_card_data_file.rb +74 -0
  255. data/lib/rcs/types/v_card_data_file_metadata.rb +62 -0
  256. data/lib/rcs/types/v_card_email_schema_type_item.rb +21 -0
  257. data/lib/rcs/types/v_card_geo.rb +70 -0
  258. data/lib/rcs/types/v_card_name.rb +98 -0
  259. data/lib/rcs/types/v_card_organization.rb +70 -0
  260. data/lib/rcs/types/v_card_phone_schema_type_item.rb +21 -0
  261. data/lib/rcs/types/validate_campaign_params.rb +69 -0
  262. data/lib/rcs/types/validation_error_details.rb +76 -0
  263. data/lib/rcs/types/validation_results.rb +71 -0
  264. data/lib/rcs/types/vcard.rb +215 -0
  265. data/lib/rcs/types/vcard_address.rb +130 -0
  266. data/lib/rcs/types/vcard_content.rb +223 -0
  267. data/lib/rcs/types/vcard_email.rb +70 -0
  268. data/lib/rcs/types/vcard_phone.rb +70 -0
  269. data/lib/rcs/types/vcard_resource.rb +71 -0
  270. data/lib/rcs/types/vetting_feedback.rb +81 -0
  271. data/lib/rcs/types/vetting_history.rb +98 -0
  272. data/lib/rcs/types/vetting_history_vetting_status.rb +13 -0
  273. data/lib/rcs/types/vetting_results.rb +57 -0
  274. data/lib/rcs/types/webhook_event_enum.rb +13 -0
  275. data/lib/rcs/types/webhook_result.rb +64 -0
  276. data/lib/rcs/{company/types/company_update_response_brand.rb → types/webhooks.rb} +25 -17
  277. data/lib/rcs/types/zod_error.rb +73 -0
  278. data/lib/rcs/webhooks/client.rb +93 -0
  279. data/lib/rcs.rb +67 -83
  280. data/lib/requests.rb +4 -4
  281. data/lib/types_export.rb +252 -46
  282. metadata +278 -52
  283. data/lib/rcs/company/client.rb +0 -375
  284. data/lib/rcs/company/types/company_register_request_company.rb +0 -128
  285. data/lib/rcs/send/client.rb +0 -382
  286. data/lib/rcs/send/types/rcs_fallback.rb +0 -84
  287. data/lib/rcs/tools/types/tools_shorten_url_response.rb +0 -70
  288. data/lib/rcs/tools/types/tools_upload_url_response.rb +0 -69
  289. data/lib/rcs/types/action.rb +0 -154
  290. data/lib/rcs/types/action_lat_long.rb +0 -68
  291. data/lib/rcs/types/action_type.rb +0 -16
  292. data/lib/rcs/types/additional_email.rb +0 -65
  293. data/lib/rcs/types/additional_phone_number.rb +0 -65
  294. data/lib/rcs/types/additional_website.rb +0 -65
  295. data/lib/rcs/types/card.rb +0 -90
  296. data/lib/rcs/types/company.rb +0 -319
  297. data/lib/rcs/types/company_additional_emails_item.rb +0 -67
  298. data/lib/rcs/types/company_additional_phone_numbers_item.rb +0 -67
  299. data/lib/rcs/types/company_additional_websites_item.rb +0 -67
  300. data/lib/rcs/types/company_category.rb +0 -20
  301. data/lib/rcs/types/company_contact.rb +0 -117
  302. data/lib/rcs/types/company_details.rb +0 -120
  303. data/lib/rcs/types/forbidden_error_body.rb +0 -57
  304. data/lib/rcs/types/inbound_action_message.rb +0 -117
  305. data/lib/rcs/types/inbound_location_message.rb +0 -106
  306. data/lib/rcs/types/inbound_location_message_coordinates.rb +0 -65
  307. data/lib/rcs/types/inbound_media_message.rb +0 -112
  308. data/lib/rcs/types/inbound_message.rb +0 -88
  309. data/lib/rcs/types/inbound_message_message_type.rb +0 -10
  310. data/lib/rcs/types/inbound_message_metadata.rb +0 -79
  311. data/lib/rcs/types/inbound_text_message.rb +0 -100
  312. data/lib/rcs/types/internal_server_error_body.rb +0 -57
  313. data/lib/rcs/types/media_payload.rb +0 -65
  314. data/lib/rcs/types/message_metadata.rb +0 -56
  315. data/lib/rcs/types/messaging.rb +0 -95
  316. data/lib/rcs/types/optionals.rb +0 -99
  317. data/lib/rcs/types/payment_required_error_body.rb +0 -57
  318. data/lib/rcs/types/point_of_contact.rb +0 -72
  319. data/lib/rcs/types/rcs_functionalities.rb +0 -117
  320. data/lib/rcs/types/sender_metadata.rb +0 -74
  321. data/lib/rcs/types/unauthorized_error_body.rb +0 -57
@@ -0,0 +1,237 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "v_card_data_file"
4
+ require_relative "v_card_name"
5
+ require_relative "vcard_address"
6
+ require_relative "vcard_phone"
7
+ require_relative "vcard_email"
8
+ require_relative "v_card_geo"
9
+ require_relative "v_card_organization"
10
+ require "ostruct"
11
+ require "json"
12
+
13
+ module Pinnacle
14
+ module Types
15
+ class VCardData
16
+ # @return [Pinnacle::Types::VCardDataFile] File associated to the contact.
17
+ attr_reader :file
18
+ # @return [String] ISO 8601 timestamp of last vCard update.
19
+ attr_reader :revision
20
+ # @return [Integer] Unique identifier for the contact.
21
+ attr_reader :id
22
+ # @return [String] Full display name for the vCard.
23
+ attr_reader :formatted_name
24
+ # @return [Pinnacle::Types::VCardName] Structured name components.
25
+ attr_reader :name
26
+ # @return [Array<String>] Nicknames or aliases.
27
+ attr_reader :nickname
28
+ # @return [String] Birthday in ISO 8601 date format (YYYY-MM-DD).
29
+ attr_reader :birthday
30
+ # @return [Array<Pinnacle::Types::VcardAddress>] Physical addresses.
31
+ attr_reader :addresses
32
+ # @return [String] Website URL.
33
+ attr_reader :url
34
+ # @return [Array<Pinnacle::Types::VcardPhone>] Phone numbers.
35
+ attr_reader :phones
36
+ # @return [Array<Pinnacle::Types::VcardEmail>] Email addresses.
37
+ attr_reader :emails
38
+ # @return [String] Timezone (e.g., "America/New_York").
39
+ attr_reader :timezone
40
+ # @return [Pinnacle::Types::VCardGeo] Geographic coordinates.
41
+ attr_reader :geo
42
+ # @return [String] Job title or position.
43
+ attr_reader :title
44
+ # @return [String] Role or function within the organization.
45
+ attr_reader :role
46
+ # @return [Pinnacle::Types::VCardOrganization] Organization or company information.
47
+ attr_reader :organization
48
+ # @return [Array<String>] Categories or tags for organizing contacts.
49
+ attr_reader :categories
50
+ # @return [String] Additional notes or comments.
51
+ attr_reader :note
52
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
53
+ attr_reader :additional_properties
54
+ # @return [Object]
55
+ attr_reader :_field_set
56
+ protected :_field_set
57
+
58
+ OMIT = Object.new
59
+
60
+ # @param file [Pinnacle::Types::VCardDataFile] File associated to the contact.
61
+ # @param revision [String] ISO 8601 timestamp of last vCard update.
62
+ # @param id [Integer] Unique identifier for the contact.
63
+ # @param formatted_name [String] Full display name for the vCard.
64
+ # @param name [Pinnacle::Types::VCardName] Structured name components.
65
+ # @param nickname [Array<String>] Nicknames or aliases.
66
+ # @param birthday [String] Birthday in ISO 8601 date format (YYYY-MM-DD).
67
+ # @param addresses [Array<Pinnacle::Types::VcardAddress>] Physical addresses.
68
+ # @param url [String] Website URL.
69
+ # @param phones [Array<Pinnacle::Types::VcardPhone>] Phone numbers.
70
+ # @param emails [Array<Pinnacle::Types::VcardEmail>] Email addresses.
71
+ # @param timezone [String] Timezone (e.g., "America/New_York").
72
+ # @param geo [Pinnacle::Types::VCardGeo] Geographic coordinates.
73
+ # @param title [String] Job title or position.
74
+ # @param role [String] Role or function within the organization.
75
+ # @param organization [Pinnacle::Types::VCardOrganization] Organization or company information.
76
+ # @param categories [Array<String>] Categories or tags for organizing contacts.
77
+ # @param note [String] Additional notes or comments.
78
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
79
+ # @return [Pinnacle::Types::VCardData]
80
+ def initialize(file:, revision: OMIT, id: OMIT, formatted_name: OMIT, name: OMIT, nickname: OMIT, birthday: OMIT,
81
+ addresses: OMIT, url: OMIT, phones: OMIT, emails: OMIT, timezone: OMIT, geo: OMIT, title: OMIT, role: OMIT, organization: OMIT, categories: OMIT, note: OMIT, additional_properties: nil)
82
+ @file = file
83
+ @revision = revision if revision != OMIT
84
+ @id = id if id != OMIT
85
+ @formatted_name = formatted_name if formatted_name != OMIT
86
+ @name = name if name != OMIT
87
+ @nickname = nickname if nickname != OMIT
88
+ @birthday = birthday if birthday != OMIT
89
+ @addresses = addresses if addresses != OMIT
90
+ @url = url if url != OMIT
91
+ @phones = phones if phones != OMIT
92
+ @emails = emails if emails != OMIT
93
+ @timezone = timezone if timezone != OMIT
94
+ @geo = geo if geo != OMIT
95
+ @title = title if title != OMIT
96
+ @role = role if role != OMIT
97
+ @organization = organization if organization != OMIT
98
+ @categories = categories if categories != OMIT
99
+ @note = note if note != OMIT
100
+ @additional_properties = additional_properties
101
+ @_field_set = {
102
+ "file": file,
103
+ "revision": revision,
104
+ "id": id,
105
+ "formattedName": formatted_name,
106
+ "name": name,
107
+ "nickname": nickname,
108
+ "birthday": birthday,
109
+ "addresses": addresses,
110
+ "url": url,
111
+ "phones": phones,
112
+ "emails": emails,
113
+ "timezone": timezone,
114
+ "geo": geo,
115
+ "title": title,
116
+ "role": role,
117
+ "organization": organization,
118
+ "categories": categories,
119
+ "note": note
120
+ }.reject do |_k, v|
121
+ v == OMIT
122
+ end
123
+ end
124
+
125
+ # Deserialize a JSON object to an instance of VCardData
126
+ #
127
+ # @param json_object [String]
128
+ # @return [Pinnacle::Types::VCardData]
129
+ def self.from_json(json_object:)
130
+ struct = JSON.parse(json_object, object_class: OpenStruct)
131
+ parsed_json = JSON.parse(json_object)
132
+ if parsed_json["file"].nil?
133
+ file = nil
134
+ else
135
+ file = parsed_json["file"].to_json
136
+ file = Pinnacle::Types::VCardDataFile.from_json(json_object: file)
137
+ end
138
+ revision = parsed_json["revision"]
139
+ id = parsed_json["id"]
140
+ formatted_name = parsed_json["formattedName"]
141
+ if parsed_json["name"].nil?
142
+ name = nil
143
+ else
144
+ name = parsed_json["name"].to_json
145
+ name = Pinnacle::Types::VCardName.from_json(json_object: name)
146
+ end
147
+ nickname = parsed_json["nickname"]
148
+ birthday = parsed_json["birthday"]
149
+ addresses = parsed_json["addresses"]&.map do |item|
150
+ item = item.to_json
151
+ Pinnacle::Types::VcardAddress.from_json(json_object: item)
152
+ end
153
+ url = parsed_json["url"]
154
+ phones = parsed_json["phones"]&.map do |item|
155
+ item = item.to_json
156
+ Pinnacle::Types::VcardPhone.from_json(json_object: item)
157
+ end
158
+ emails = parsed_json["emails"]&.map do |item|
159
+ item = item.to_json
160
+ Pinnacle::Types::VcardEmail.from_json(json_object: item)
161
+ end
162
+ timezone = parsed_json["timezone"]
163
+ if parsed_json["geo"].nil?
164
+ geo = nil
165
+ else
166
+ geo = parsed_json["geo"].to_json
167
+ geo = Pinnacle::Types::VCardGeo.from_json(json_object: geo)
168
+ end
169
+ title = parsed_json["title"]
170
+ role = parsed_json["role"]
171
+ if parsed_json["organization"].nil?
172
+ organization = nil
173
+ else
174
+ organization = parsed_json["organization"].to_json
175
+ organization = Pinnacle::Types::VCardOrganization.from_json(json_object: organization)
176
+ end
177
+ categories = parsed_json["categories"]
178
+ note = parsed_json["note"]
179
+ new(
180
+ file: file,
181
+ revision: revision,
182
+ id: id,
183
+ formatted_name: formatted_name,
184
+ name: name,
185
+ nickname: nickname,
186
+ birthday: birthday,
187
+ addresses: addresses,
188
+ url: url,
189
+ phones: phones,
190
+ emails: emails,
191
+ timezone: timezone,
192
+ geo: geo,
193
+ title: title,
194
+ role: role,
195
+ organization: organization,
196
+ categories: categories,
197
+ note: note,
198
+ additional_properties: struct
199
+ )
200
+ end
201
+
202
+ # Serialize an instance of VCardData to a JSON object
203
+ #
204
+ # @return [String]
205
+ def to_json(*_args)
206
+ @_field_set&.to_json
207
+ end
208
+
209
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
210
+ # hash and check each fields type against the current object's property
211
+ # definitions.
212
+ #
213
+ # @param obj [Object]
214
+ # @return [Void]
215
+ def self.validate_raw(obj:)
216
+ Pinnacle::Types::VCardDataFile.validate_raw(obj: obj.file)
217
+ obj.revision&.is_a?(String) != false || raise("Passed value for field obj.revision is not the expected type, validation failed.")
218
+ obj.id&.is_a?(Integer) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
219
+ obj.formatted_name&.is_a?(String) != false || raise("Passed value for field obj.formatted_name is not the expected type, validation failed.")
220
+ obj.name.nil? || Pinnacle::Types::VCardName.validate_raw(obj: obj.name)
221
+ obj.nickname&.is_a?(Array) != false || raise("Passed value for field obj.nickname is not the expected type, validation failed.")
222
+ obj.birthday&.is_a?(String) != false || raise("Passed value for field obj.birthday is not the expected type, validation failed.")
223
+ obj.addresses&.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
224
+ obj.url&.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
225
+ obj.phones&.is_a?(Array) != false || raise("Passed value for field obj.phones is not the expected type, validation failed.")
226
+ obj.emails&.is_a?(Array) != false || raise("Passed value for field obj.emails is not the expected type, validation failed.")
227
+ obj.timezone&.is_a?(String) != false || raise("Passed value for field obj.timezone is not the expected type, validation failed.")
228
+ obj.geo.nil? || Pinnacle::Types::VCardGeo.validate_raw(obj: obj.geo)
229
+ obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
230
+ obj.role&.is_a?(String) != false || raise("Passed value for field obj.role is not the expected type, validation failed.")
231
+ obj.organization.nil? || Pinnacle::Types::VCardOrganization.validate_raw(obj: obj.organization)
232
+ obj.categories&.is_a?(Array) != false || raise("Passed value for field obj.categories is not the expected type, validation failed.")
233
+ obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.")
234
+ end
235
+ end
236
+ end
237
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "v_card_data_file_metadata"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Pinnacle
8
+ module Types
9
+ # File associated to the contact.
10
+ class VCardDataFile
11
+ # @return [String] Presigned URL to download the contact card.
12
+ attr_reader :url
13
+ # @return [Pinnacle::Types::VCardDataFileMetadata] Additional information about the download URL.
14
+ attr_reader :metadata
15
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
16
+ attr_reader :additional_properties
17
+ # @return [Object]
18
+ attr_reader :_field_set
19
+ protected :_field_set
20
+
21
+ OMIT = Object.new
22
+
23
+ # @param url [String] Presigned URL to download the contact card.
24
+ # @param metadata [Pinnacle::Types::VCardDataFileMetadata] Additional information about the download URL.
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [Pinnacle::Types::VCardDataFile]
27
+ def initialize(url:, metadata:, additional_properties: nil)
28
+ @url = url
29
+ @metadata = metadata
30
+ @additional_properties = additional_properties
31
+ @_field_set = { "url": url, "metadata": metadata }
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of VCardDataFile
35
+ #
36
+ # @param json_object [String]
37
+ # @return [Pinnacle::Types::VCardDataFile]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ parsed_json = JSON.parse(json_object)
41
+ url = parsed_json["url"]
42
+ if parsed_json["metadata"].nil?
43
+ metadata = nil
44
+ else
45
+ metadata = parsed_json["metadata"].to_json
46
+ metadata = Pinnacle::Types::VCardDataFileMetadata.from_json(json_object: metadata)
47
+ end
48
+ new(
49
+ url: url,
50
+ metadata: metadata,
51
+ additional_properties: struct
52
+ )
53
+ end
54
+
55
+ # Serialize an instance of VCardDataFile to a JSON object
56
+ #
57
+ # @return [String]
58
+ def to_json(*_args)
59
+ @_field_set&.to_json
60
+ end
61
+
62
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
63
+ # hash and check each fields type against the current object's property
64
+ # definitions.
65
+ #
66
+ # @param obj [Object]
67
+ # @return [Void]
68
+ def self.validate_raw(obj:)
69
+ obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
70
+ Pinnacle::Types::VCardDataFileMetadata.validate_raw(obj: obj.metadata)
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ # Additional information about the download URL.
9
+ class VCardDataFileMetadata
10
+ # @return [String] When the download URL expires in ISO 8601 format.<br>
11
+ # Null indicates that it is permanent.
12
+ attr_reader :expires_at
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param expires_at [String] When the download URL expires in ISO 8601 format.<br>
22
+ # Null indicates that it is permanent.
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Pinnacle::Types::VCardDataFileMetadata]
25
+ def initialize(expires_at: OMIT, additional_properties: nil)
26
+ @expires_at = expires_at if expires_at != OMIT
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "expiresAt": expires_at }.reject do |_k, v|
29
+ v == OMIT
30
+ end
31
+ end
32
+
33
+ # Deserialize a JSON object to an instance of VCardDataFileMetadata
34
+ #
35
+ # @param json_object [String]
36
+ # @return [Pinnacle::Types::VCardDataFileMetadata]
37
+ def self.from_json(json_object:)
38
+ struct = JSON.parse(json_object, object_class: OpenStruct)
39
+ parsed_json = JSON.parse(json_object)
40
+ expires_at = parsed_json["expiresAt"]
41
+ new(expires_at: expires_at, additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of VCardDataFileMetadata to a JSON object
45
+ #
46
+ # @return [String]
47
+ def to_json(*_args)
48
+ @_field_set&.to_json
49
+ end
50
+
51
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
52
+ # hash and check each fields type against the current object's property
53
+ # definitions.
54
+ #
55
+ # @param obj [Object]
56
+ # @return [Void]
57
+ def self.validate_raw(obj:)
58
+ obj.expires_at&.is_a?(String) != false || raise("Passed value for field obj.expires_at is not the expected type, validation failed.")
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class VCardEmailSchemaTypeItem
6
+ PREF = "PREF"
7
+ INTERNET = "INTERNET"
8
+ X_400 = "X400"
9
+ AOL = "AOL"
10
+ APPLELINK = "APPLELINK"
11
+ ATTMAIL = "ATTMAIL"
12
+ CIS = "CIS"
13
+ EWORLD = "EWORLD"
14
+ IBMMAIL = "IBMMAIL"
15
+ MCIMAIL = "MCIMAIL"
16
+ POWERSHARE = "POWERSHARE"
17
+ PRODIGY = "PRODIGY"
18
+ TLX = "TLX"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ # Geographic coordinates.
9
+ class VCardGeo
10
+ # @return [Float] Latitude coordinate.
11
+ attr_reader :latitude
12
+ # @return [Float] Longitude coordinate.
13
+ attr_reader :longitude
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param latitude [Float] Latitude coordinate.
23
+ # @param longitude [Float] Longitude coordinate.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Pinnacle::Types::VCardGeo]
26
+ def initialize(latitude: OMIT, longitude: OMIT, additional_properties: nil)
27
+ @latitude = latitude if latitude != OMIT
28
+ @longitude = longitude if longitude != OMIT
29
+ @additional_properties = additional_properties
30
+ @_field_set = { "latitude": latitude, "longitude": longitude }.reject do |_k, v|
31
+ v == OMIT
32
+ end
33
+ end
34
+
35
+ # Deserialize a JSON object to an instance of VCardGeo
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Pinnacle::Types::VCardGeo]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ latitude = parsed_json["latitude"]
43
+ longitude = parsed_json["longitude"]
44
+ new(
45
+ latitude: latitude,
46
+ longitude: longitude,
47
+ additional_properties: struct
48
+ )
49
+ end
50
+
51
+ # Serialize an instance of VCardGeo to a JSON object
52
+ #
53
+ # @return [String]
54
+ def to_json(*_args)
55
+ @_field_set&.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.latitude&.is_a?(Float) != false || raise("Passed value for field obj.latitude is not the expected type, validation failed.")
66
+ obj.longitude&.is_a?(Float) != false || raise("Passed value for field obj.longitude is not the expected type, validation failed.")
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ # Structured name components.
9
+ class VCardName
10
+ # @return [String] Last name or surname.
11
+ attr_reader :family_name
12
+ # @return [String] First name or given name.
13
+ attr_reader :given_name
14
+ # @return [Array<String>] Middle names or additional names.
15
+ attr_reader :additional_names
16
+ # @return [Array<String>] Title prefixes like "Dr.", "Mr.", "Ms.".
17
+ attr_reader :honorific_prefixes
18
+ # @return [Array<String>] Title suffixes like "Jr.", "Sr.", "PhD".
19
+ attr_reader :honorific_suffixes
20
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
21
+ attr_reader :additional_properties
22
+ # @return [Object]
23
+ attr_reader :_field_set
24
+ protected :_field_set
25
+
26
+ OMIT = Object.new
27
+
28
+ # @param family_name [String] Last name or surname.
29
+ # @param given_name [String] First name or given name.
30
+ # @param additional_names [Array<String>] Middle names or additional names.
31
+ # @param honorific_prefixes [Array<String>] Title prefixes like "Dr.", "Mr.", "Ms.".
32
+ # @param honorific_suffixes [Array<String>] Title suffixes like "Jr.", "Sr.", "PhD".
33
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
+ # @return [Pinnacle::Types::VCardName]
35
+ def initialize(family_name: OMIT, given_name: OMIT, additional_names: OMIT, honorific_prefixes: OMIT,
36
+ honorific_suffixes: OMIT, additional_properties: nil)
37
+ @family_name = family_name if family_name != OMIT
38
+ @given_name = given_name if given_name != OMIT
39
+ @additional_names = additional_names if additional_names != OMIT
40
+ @honorific_prefixes = honorific_prefixes if honorific_prefixes != OMIT
41
+ @honorific_suffixes = honorific_suffixes if honorific_suffixes != OMIT
42
+ @additional_properties = additional_properties
43
+ @_field_set = {
44
+ "familyName": family_name,
45
+ "givenName": given_name,
46
+ "additionalNames": additional_names,
47
+ "honorificPrefixes": honorific_prefixes,
48
+ "honorificSuffixes": honorific_suffixes
49
+ }.reject do |_k, v|
50
+ v == OMIT
51
+ end
52
+ end
53
+
54
+ # Deserialize a JSON object to an instance of VCardName
55
+ #
56
+ # @param json_object [String]
57
+ # @return [Pinnacle::Types::VCardName]
58
+ def self.from_json(json_object:)
59
+ struct = JSON.parse(json_object, object_class: OpenStruct)
60
+ parsed_json = JSON.parse(json_object)
61
+ family_name = parsed_json["familyName"]
62
+ given_name = parsed_json["givenName"]
63
+ additional_names = parsed_json["additionalNames"]
64
+ honorific_prefixes = parsed_json["honorificPrefixes"]
65
+ honorific_suffixes = parsed_json["honorificSuffixes"]
66
+ new(
67
+ family_name: family_name,
68
+ given_name: given_name,
69
+ additional_names: additional_names,
70
+ honorific_prefixes: honorific_prefixes,
71
+ honorific_suffixes: honorific_suffixes,
72
+ additional_properties: struct
73
+ )
74
+ end
75
+
76
+ # Serialize an instance of VCardName to a JSON object
77
+ #
78
+ # @return [String]
79
+ def to_json(*_args)
80
+ @_field_set&.to_json
81
+ end
82
+
83
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
84
+ # hash and check each fields type against the current object's property
85
+ # definitions.
86
+ #
87
+ # @param obj [Object]
88
+ # @return [Void]
89
+ def self.validate_raw(obj:)
90
+ obj.family_name&.is_a?(String) != false || raise("Passed value for field obj.family_name is not the expected type, validation failed.")
91
+ obj.given_name&.is_a?(String) != false || raise("Passed value for field obj.given_name is not the expected type, validation failed.")
92
+ obj.additional_names&.is_a?(Array) != false || raise("Passed value for field obj.additional_names is not the expected type, validation failed.")
93
+ obj.honorific_prefixes&.is_a?(Array) != false || raise("Passed value for field obj.honorific_prefixes is not the expected type, validation failed.")
94
+ obj.honorific_suffixes&.is_a?(Array) != false || raise("Passed value for field obj.honorific_suffixes is not the expected type, validation failed.")
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Pinnacle
7
+ module Types
8
+ # Organization or company information.
9
+ class VCardOrganization
10
+ # @return [String] Company or organization name.
11
+ attr_reader :name
12
+ # @return [Array<String>] Department or organizational units.
13
+ attr_reader :units
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param name [String] Company or organization name.
23
+ # @param units [Array<String>] Department or organizational units.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Pinnacle::Types::VCardOrganization]
26
+ def initialize(name: OMIT, units: OMIT, additional_properties: nil)
27
+ @name = name if name != OMIT
28
+ @units = units if units != OMIT
29
+ @additional_properties = additional_properties
30
+ @_field_set = { "name": name, "units": units }.reject do |_k, v|
31
+ v == OMIT
32
+ end
33
+ end
34
+
35
+ # Deserialize a JSON object to an instance of VCardOrganization
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Pinnacle::Types::VCardOrganization]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ name = parsed_json["name"]
43
+ units = parsed_json["units"]
44
+ new(
45
+ name: name,
46
+ units: units,
47
+ additional_properties: struct
48
+ )
49
+ end
50
+
51
+ # Serialize an instance of VCardOrganization to a JSON object
52
+ #
53
+ # @return [String]
54
+ def to_json(*_args)
55
+ @_field_set&.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
66
+ obj.units&.is_a?(Array) != false || raise("Passed value for field obj.units is not the expected type, validation failed.")
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class VCardPhoneSchemaTypeItem
6
+ PREF = "PREF"
7
+ WORK = "WORK"
8
+ HOME = "HOME"
9
+ VOICE = "VOICE"
10
+ FAX = "FAX"
11
+ MSG = "MSG"
12
+ CELL = "CELL"
13
+ PAGER = "PAGER"
14
+ BBS = "BBS"
15
+ MODEM = "MODEM"
16
+ CAR = "CAR"
17
+ ISDN = "ISDN"
18
+ VIDEO = "VIDEO"
19
+ end
20
+ end
21
+ end