stackone_client 0.31.0 → 0.35.0

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 (574) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/accounting.rb +2519 -0
  3. data/lib/stack_one/accounts.rb +2 -2
  4. data/lib/stack_one/ats.rb +3 -3
  5. data/lib/stack_one/connectors.rb +2 -2
  6. data/lib/stack_one/crm.rb +1 -1
  7. data/lib/stack_one/documents.rb +2227 -0
  8. data/lib/stack_one/hris.rb +2 -2
  9. data/lib/stack_one/messaging.rb +3069 -0
  10. data/lib/stack_one/models/operations/accounting_batch_create_company_journals_request.rb +41 -0
  11. data/lib/stack_one/models/operations/accounting_batch_create_company_journals_response.rb +49 -0
  12. data/lib/stack_one/models/operations/accounting_get_company_account_request.rb +53 -0
  13. data/lib/stack_one/models/operations/accounting_get_company_account_response.rb +49 -0
  14. data/lib/stack_one/models/operations/accounting_get_company_journal_request.rb +53 -0
  15. data/lib/stack_one/models/operations/accounting_get_company_journal_response.rb +49 -0
  16. data/lib/stack_one/models/operations/accounting_get_company_request.rb +49 -0
  17. data/lib/stack_one/models/operations/accounting_get_company_response.rb +49 -0
  18. data/lib/stack_one/models/operations/accounting_get_company_tax_rate_request.rb +53 -0
  19. data/lib/stack_one/models/operations/accounting_get_company_tax_rate_response.rb +49 -0
  20. data/lib/stack_one/models/operations/accounting_list_companies_queryparam_filter.rb +33 -0
  21. data/lib/stack_one/models/operations/accounting_list_companies_request.rb +69 -0
  22. data/lib/stack_one/models/operations/accounting_list_companies_response.rb +49 -0
  23. data/lib/stack_one/models/operations/accounting_list_company_accounts_queryparam_filter.rb +33 -0
  24. data/lib/stack_one/models/operations/accounting_list_company_accounts_request.rb +73 -0
  25. data/lib/stack_one/models/operations/accounting_list_company_accounts_response.rb +49 -0
  26. data/lib/stack_one/models/operations/accounting_list_company_journals_queryparam_filter.rb +33 -0
  27. data/lib/stack_one/models/operations/accounting_list_company_journals_request.rb +73 -0
  28. data/lib/stack_one/models/operations/accounting_list_company_journals_response.rb +49 -0
  29. data/lib/stack_one/models/operations/accounting_list_company_tax_rates_queryparam_filter.rb +33 -0
  30. data/lib/stack_one/models/operations/accounting_list_company_tax_rates_request.rb +73 -0
  31. data/lib/stack_one/models/operations/accounting_list_company_tax_rates_response.rb +49 -0
  32. data/lib/stack_one/models/operations/active.rb +28 -0
  33. data/lib/stack_one/models/operations/ats_get_application_custom_field_definition_queryparam_filter.rb +2 -2
  34. data/lib/stack_one/models/operations/ats_get_application_custom_field_definition_request.rb +2 -2
  35. data/lib/stack_one/models/operations/ats_get_candidate_custom_field_definition_queryparam_filter.rb +2 -2
  36. data/lib/stack_one/models/operations/ats_get_candidate_custom_field_definition_request.rb +2 -2
  37. data/lib/stack_one/models/operations/ats_get_job_custom_field_definition_queryparam_filter.rb +2 -2
  38. data/lib/stack_one/models/operations/ats_get_job_custom_field_definition_request.rb +2 -2
  39. data/lib/stack_one/models/operations/ats_list_application_changes_queryparam_filter.rb +2 -2
  40. data/lib/stack_one/models/operations/ats_list_application_custom_field_definitions_queryparam_filter.rb +2 -2
  41. data/lib/stack_one/models/operations/ats_list_application_custom_field_definitions_request.rb +2 -2
  42. data/lib/stack_one/models/operations/ats_list_application_document_categories_queryparam_filter.rb +2 -2
  43. data/lib/stack_one/models/operations/ats_list_application_document_categories_request.rb +2 -2
  44. data/lib/stack_one/models/operations/ats_list_application_documents_queryparam_filter.rb +2 -2
  45. data/lib/stack_one/models/operations/ats_list_application_documents_request.rb +2 -2
  46. data/lib/stack_one/models/operations/ats_list_application_notes_queryparam_filter.rb +2 -2
  47. data/lib/stack_one/models/operations/ats_list_application_notes_request.rb +2 -2
  48. data/lib/stack_one/models/operations/ats_list_application_scorecards_queryparam_filter.rb +2 -2
  49. data/lib/stack_one/models/operations/ats_list_application_scorecards_request.rb +2 -2
  50. data/lib/stack_one/models/operations/ats_list_applications_offers_queryparam_filter.rb +2 -2
  51. data/lib/stack_one/models/operations/ats_list_applications_offers_request.rb +2 -2
  52. data/lib/stack_one/models/operations/ats_list_applications_queryparam_filter.rb +3 -3
  53. data/lib/stack_one/models/operations/ats_list_applications_request.rb +2 -2
  54. data/lib/stack_one/models/operations/ats_list_applications_scheduled_interviews_queryparam_filter.rb +2 -2
  55. data/lib/stack_one/models/operations/ats_list_applications_scheduled_interviews_request.rb +2 -2
  56. data/lib/stack_one/models/operations/ats_list_assessments_packages_queryparam_filter.rb +2 -2
  57. data/lib/stack_one/models/operations/ats_list_assessments_packages_request.rb +2 -2
  58. data/lib/stack_one/models/operations/ats_list_background_check_packages_queryparam_filter.rb +2 -2
  59. data/lib/stack_one/models/operations/ats_list_background_check_packages_request.rb +2 -2
  60. data/lib/stack_one/models/operations/ats_list_candidate_custom_field_definitions_queryparam_filter.rb +2 -2
  61. data/lib/stack_one/models/operations/ats_list_candidate_custom_field_definitions_request.rb +2 -2
  62. data/lib/stack_one/models/operations/ats_list_candidate_notes_queryparam_filter.rb +2 -2
  63. data/lib/stack_one/models/operations/ats_list_candidate_notes_request.rb +2 -2
  64. data/lib/stack_one/models/operations/ats_list_candidates_queryparam_filter.rb +3 -3
  65. data/lib/stack_one/models/operations/ats_list_candidates_request.rb +2 -2
  66. data/lib/stack_one/models/operations/ats_list_departments_queryparam_filter.rb +2 -2
  67. data/lib/stack_one/models/operations/ats_list_departments_request.rb +2 -2
  68. data/lib/stack_one/models/operations/ats_list_interview_stages_queryparam_filter.rb +2 -2
  69. data/lib/stack_one/models/operations/ats_list_interview_stages_request.rb +2 -2
  70. data/lib/stack_one/models/operations/ats_list_interviews_queryparam_filter.rb +3 -3
  71. data/lib/stack_one/models/operations/ats_list_interviews_request.rb +2 -2
  72. data/lib/stack_one/models/operations/ats_list_job_custom_field_definitions_queryparam_filter.rb +2 -2
  73. data/lib/stack_one/models/operations/ats_list_job_custom_field_definitions_request.rb +2 -2
  74. data/lib/stack_one/models/operations/ats_list_job_postings_queryparam_filter.rb +3 -3
  75. data/lib/stack_one/models/operations/ats_list_job_postings_request.rb +2 -2
  76. data/lib/stack_one/models/operations/ats_list_jobs_queryparam_filter.rb +3 -3
  77. data/lib/stack_one/models/operations/ats_list_jobs_request.rb +2 -2
  78. data/lib/stack_one/models/operations/ats_list_lists_queryparam_filter.rb +2 -2
  79. data/lib/stack_one/models/operations/ats_list_lists_request.rb +2 -2
  80. data/lib/stack_one/models/operations/ats_list_locations_queryparam_filter.rb +2 -2
  81. data/lib/stack_one/models/operations/ats_list_locations_request.rb +2 -2
  82. data/lib/stack_one/models/operations/ats_list_offers_queryparam_filter.rb +2 -2
  83. data/lib/stack_one/models/operations/ats_list_offers_request.rb +2 -2
  84. data/lib/stack_one/models/operations/ats_list_rejected_reasons_queryparam_filter.rb +2 -2
  85. data/lib/stack_one/models/operations/ats_list_rejected_reasons_request.rb +2 -2
  86. data/lib/stack_one/models/operations/ats_list_users_queryparam_filter.rb +2 -2
  87. data/lib/stack_one/models/operations/ats_list_users_request.rb +2 -2
  88. data/lib/stack_one/models/operations/crm_get_contact_custom_field_definition_queryparam_filter.rb +2 -2
  89. data/lib/stack_one/models/operations/crm_get_contact_custom_field_definition_request.rb +2 -2
  90. data/lib/stack_one/models/operations/crm_list_accounts_queryparam_filter.rb +2 -2
  91. data/lib/stack_one/models/operations/crm_list_accounts_request.rb +2 -2
  92. data/lib/stack_one/models/operations/crm_list_contact_custom_field_definitions_queryparam_filter.rb +2 -2
  93. data/lib/stack_one/models/operations/crm_list_contact_custom_field_definitions_request.rb +2 -2
  94. data/lib/stack_one/models/operations/crm_list_contacts_queryparam_filter.rb +2 -2
  95. data/lib/stack_one/models/operations/crm_list_contacts_request.rb +2 -2
  96. data/lib/stack_one/models/operations/crm_list_lists_queryparam_filter.rb +2 -2
  97. data/lib/stack_one/models/operations/crm_list_lists_request.rb +2 -2
  98. data/lib/stack_one/models/operations/documents_download_file_request.rb +49 -0
  99. data/lib/stack_one/models/operations/documents_download_file_response.rb +49 -0
  100. data/lib/stack_one/models/operations/documents_get_drive_request.rb +49 -0
  101. data/lib/stack_one/models/operations/documents_get_drive_response.rb +49 -0
  102. data/lib/stack_one/models/operations/documents_get_file_request.rb +57 -0
  103. data/lib/stack_one/models/operations/documents_get_file_response.rb +49 -0
  104. data/lib/stack_one/models/operations/documents_get_folder_request.rb +53 -0
  105. data/lib/stack_one/models/operations/documents_get_folder_response.rb +49 -0
  106. data/lib/stack_one/models/operations/documents_list_drives_queryparam_filter.rb +33 -0
  107. data/lib/stack_one/models/operations/documents_list_drives_request.rb +69 -0
  108. data/lib/stack_one/models/operations/documents_list_drives_response.rb +49 -0
  109. data/lib/stack_one/models/operations/documents_list_files_queryparam_filter.rb +53 -0
  110. data/lib/stack_one/models/operations/documents_list_files_request.rb +85 -0
  111. data/lib/stack_one/models/operations/documents_list_files_response.rb +49 -0
  112. data/lib/stack_one/models/operations/documents_list_folders_queryparam_filter.rb +41 -0
  113. data/lib/stack_one/models/operations/documents_list_folders_request.rb +81 -0
  114. data/lib/stack_one/models/operations/documents_list_folders_response.rb +49 -0
  115. data/lib/stack_one/models/operations/documents_upload_file_request.rb +41 -0
  116. data/lib/stack_one/models/operations/documents_upload_file_response.rb +49 -0
  117. data/lib/stack_one/models/operations/filter.rb +3 -3
  118. data/lib/stack_one/models/operations/hris_get_employee_custom_field_definition_queryparam_filter.rb +2 -2
  119. data/lib/stack_one/models/operations/hris_get_employee_custom_field_definition_request.rb +2 -2
  120. data/lib/stack_one/models/operations/hris_list_benefits_queryparam_filter.rb +2 -2
  121. data/lib/stack_one/models/operations/hris_list_benefits_request.rb +2 -2
  122. data/lib/stack_one/models/operations/hris_list_companies_groups_queryparam_filter.rb +2 -2
  123. data/lib/stack_one/models/operations/hris_list_companies_groups_request.rb +2 -2
  124. data/lib/stack_one/models/operations/hris_list_companies_queryparam_filter.rb +2 -2
  125. data/lib/stack_one/models/operations/hris_list_companies_request.rb +2 -2
  126. data/lib/stack_one/models/operations/hris_list_cost_center_groups_queryparam_filter.rb +2 -2
  127. data/lib/stack_one/models/operations/hris_list_cost_center_groups_request.rb +2 -2
  128. data/lib/stack_one/models/operations/hris_list_department_groups_queryparam_filter.rb +2 -2
  129. data/lib/stack_one/models/operations/hris_list_department_groups_request.rb +2 -2
  130. data/lib/stack_one/models/operations/hris_list_division_groups_queryparam_filter.rb +2 -2
  131. data/lib/stack_one/models/operations/hris_list_division_groups_request.rb +2 -2
  132. data/lib/stack_one/models/operations/hris_list_employee_categories_queryparam_filter.rb +2 -2
  133. data/lib/stack_one/models/operations/hris_list_employee_categories_request.rb +2 -2
  134. data/lib/stack_one/models/operations/hris_list_employee_custom_field_definitions_queryparam_filter.rb +2 -2
  135. data/lib/stack_one/models/operations/hris_list_employee_custom_field_definitions_request.rb +2 -2
  136. data/lib/stack_one/models/operations/hris_list_employee_documents_queryparam_filter.rb +2 -2
  137. data/lib/stack_one/models/operations/hris_list_employee_documents_request.rb +2 -2
  138. data/lib/stack_one/models/operations/hris_list_employee_employments_queryparam_filter.rb +2 -2
  139. data/lib/stack_one/models/operations/hris_list_employee_employments_request.rb +2 -2
  140. data/lib/stack_one/models/operations/hris_list_employee_skills_queryparam_filter.rb +2 -2
  141. data/lib/stack_one/models/operations/hris_list_employee_skills_request.rb +2 -2
  142. data/lib/stack_one/models/operations/hris_list_employee_tasks_queryparam_filter.rb +2 -2
  143. data/lib/stack_one/models/operations/hris_list_employee_tasks_request.rb +2 -2
  144. data/lib/stack_one/models/operations/hris_list_employee_time_off_balances_queryparam_filter.rb +2 -2
  145. data/lib/stack_one/models/operations/hris_list_employee_time_off_balances_request.rb +2 -2
  146. data/lib/stack_one/models/operations/hris_list_employee_time_off_policies_queryparam_filter.rb +2 -2
  147. data/lib/stack_one/models/operations/hris_list_employee_time_off_policies_request.rb +2 -2
  148. data/lib/stack_one/models/operations/hris_list_employee_time_off_requests_queryparam_filter.rb +2 -2
  149. data/lib/stack_one/models/operations/hris_list_employee_time_off_requests_request.rb +2 -2
  150. data/lib/stack_one/models/operations/hris_list_employee_work_eligibility_queryparam_filter.rb +2 -2
  151. data/lib/stack_one/models/operations/hris_list_employee_work_eligibility_request.rb +2 -2
  152. data/lib/stack_one/models/operations/hris_list_employees_queryparam_filter.rb +2 -2
  153. data/lib/stack_one/models/operations/hris_list_employees_request.rb +2 -2
  154. data/lib/stack_one/models/operations/hris_list_employments_queryparam_filter.rb +2 -2
  155. data/lib/stack_one/models/operations/hris_list_employments_request.rb +2 -2
  156. data/lib/stack_one/models/operations/hris_list_groups_queryparam_filter.rb +2 -2
  157. data/lib/stack_one/models/operations/hris_list_groups_request.rb +2 -2
  158. data/lib/stack_one/models/operations/hris_list_jobs_queryparam_filter.rb +2 -2
  159. data/lib/stack_one/models/operations/hris_list_jobs_request.rb +2 -2
  160. data/lib/stack_one/models/operations/hris_list_locations_queryparam_filter.rb +2 -2
  161. data/lib/stack_one/models/operations/hris_list_locations_request.rb +2 -2
  162. data/lib/stack_one/models/operations/hris_list_positions_queryparam_filter.rb +2 -2
  163. data/lib/stack_one/models/operations/hris_list_positions_request.rb +2 -2
  164. data/lib/stack_one/models/operations/hris_list_shifts_queryparam_filter.rb +2 -2
  165. data/lib/stack_one/models/operations/hris_list_shifts_request.rb +2 -2
  166. data/lib/stack_one/models/operations/hris_list_tasks_queryparam_filter.rb +2 -2
  167. data/lib/stack_one/models/operations/hris_list_tasks_request.rb +2 -2
  168. data/lib/stack_one/models/operations/hris_list_team_groups_queryparam_filter.rb +2 -2
  169. data/lib/stack_one/models/operations/hris_list_team_groups_request.rb +2 -2
  170. data/lib/stack_one/models/operations/hris_list_time_entries_queryparam_filter.rb +2 -2
  171. data/lib/stack_one/models/operations/hris_list_time_entries_request.rb +2 -2
  172. data/lib/stack_one/models/operations/hris_list_time_off_policies_queryparam_filter.rb +2 -2
  173. data/lib/stack_one/models/operations/hris_list_time_off_policies_request.rb +2 -2
  174. data/lib/stack_one/models/operations/hris_list_time_off_requests_queryparam_filter.rb +2 -2
  175. data/lib/stack_one/models/operations/hris_list_time_off_requests_request.rb +2 -2
  176. data/lib/stack_one/models/operations/hris_list_time_off_types_queryparam_filter.rb +2 -2
  177. data/lib/stack_one/models/operations/hris_list_time_off_types_request.rb +2 -2
  178. data/lib/stack_one/models/operations/iam_list_groups_queryparam_filter.rb +2 -2
  179. data/lib/stack_one/models/operations/iam_list_groups_request.rb +2 -2
  180. data/lib/stack_one/models/operations/iam_list_policies_queryparam_filter.rb +2 -2
  181. data/lib/stack_one/models/operations/iam_list_policies_request.rb +2 -2
  182. data/lib/stack_one/models/operations/iam_list_roles_queryparam_filter.rb +2 -2
  183. data/lib/stack_one/models/operations/iam_list_roles_request.rb +2 -2
  184. data/lib/stack_one/models/operations/iam_list_users_queryparam_filter.rb +2 -2
  185. data/lib/stack_one/models/operations/iam_list_users_request.rb +2 -2
  186. data/lib/stack_one/models/operations/lms_list_assignments_queryparam_filter.rb +2 -2
  187. data/lib/stack_one/models/operations/lms_list_assignments_request.rb +2 -2
  188. data/lib/stack_one/models/operations/lms_list_categories_queryparam_filter.rb +2 -2
  189. data/lib/stack_one/models/operations/lms_list_categories_request.rb +2 -2
  190. data/lib/stack_one/models/operations/lms_list_completions_queryparam_filter.rb +2 -2
  191. data/lib/stack_one/models/operations/lms_list_completions_request.rb +2 -2
  192. data/lib/stack_one/models/operations/lms_list_content_queryparam_filter.rb +8 -4
  193. data/lib/stack_one/models/operations/lms_list_content_request.rb +3 -3
  194. data/lib/stack_one/models/operations/lms_list_courses_queryparam_filter.rb +7 -3
  195. data/lib/stack_one/models/operations/lms_list_courses_request.rb +2 -2
  196. data/lib/stack_one/models/operations/lms_list_skills_queryparam_filter.rb +2 -2
  197. data/lib/stack_one/models/operations/lms_list_skills_request.rb +2 -2
  198. data/lib/stack_one/models/operations/lms_list_user_assignments_queryparam_filter.rb +2 -2
  199. data/lib/stack_one/models/operations/lms_list_user_assignments_request.rb +2 -2
  200. data/lib/stack_one/models/operations/lms_list_user_completions_queryparam_filter.rb +2 -2
  201. data/lib/stack_one/models/operations/lms_list_user_completions_request.rb +2 -2
  202. data/lib/stack_one/models/operations/lms_list_users_queryparam_filter.rb +2 -2
  203. data/lib/stack_one/models/operations/lms_list_users_request.rb +2 -2
  204. data/lib/stack_one/models/operations/marketing_list_campaigns_queryparam_filter.rb +2 -2
  205. data/lib/stack_one/models/operations/marketing_list_campaigns_request.rb +2 -2
  206. data/lib/stack_one/models/operations/marketing_list_content_blocks_queryparam_filter.rb +2 -2
  207. data/lib/stack_one/models/operations/marketing_list_content_blocks_request.rb +2 -2
  208. data/lib/stack_one/models/operations/marketing_list_email_templates_queryparam_filter.rb +2 -2
  209. data/lib/stack_one/models/operations/marketing_list_email_templates_request.rb +2 -2
  210. data/lib/stack_one/models/operations/marketing_list_in_app_templates_queryparam_filter.rb +2 -2
  211. data/lib/stack_one/models/operations/marketing_list_in_app_templates_request.rb +2 -2
  212. data/lib/stack_one/models/operations/marketing_list_omni_channel_templates_queryparam_filter.rb +2 -2
  213. data/lib/stack_one/models/operations/marketing_list_omni_channel_templates_request.rb +2 -2
  214. data/lib/stack_one/models/operations/marketing_list_push_templates_queryparam_filter.rb +2 -2
  215. data/lib/stack_one/models/operations/marketing_list_push_templates_request.rb +2 -2
  216. data/lib/stack_one/models/operations/marketing_list_sms_templates_queryparam_filter.rb +2 -2
  217. data/lib/stack_one/models/operations/marketing_list_sms_templates_request.rb +2 -2
  218. data/lib/stack_one/models/operations/messaging_create_conversation_request.rb +37 -0
  219. data/lib/stack_one/models/operations/messaging_create_conversation_response.rb +49 -0
  220. data/lib/stack_one/models/operations/messaging_download_messaging_attachment_request.rb +49 -0
  221. data/lib/stack_one/models/operations/messaging_download_messaging_attachment_response.rb +49 -0
  222. data/lib/stack_one/models/operations/messaging_get_attachment_request.rb +53 -0
  223. data/lib/stack_one/models/operations/messaging_get_attachment_response.rb +49 -0
  224. data/lib/stack_one/models/operations/messaging_get_conversation_request.rb +49 -0
  225. data/lib/stack_one/models/operations/messaging_get_conversation_response.rb +49 -0
  226. data/lib/stack_one/models/operations/messaging_get_message_queryparam_filter.rb +28 -0
  227. data/lib/stack_one/models/operations/messaging_get_message_request.rb +53 -0
  228. data/lib/stack_one/models/operations/messaging_get_message_response.rb +49 -0
  229. data/lib/stack_one/models/operations/messaging_get_user_request.rb +49 -0
  230. data/lib/stack_one/models/operations/messaging_get_user_response.rb +49 -0
  231. data/lib/stack_one/models/operations/messaging_list_attachments_queryparam_filter.rb +33 -0
  232. data/lib/stack_one/models/operations/messaging_list_attachments_request.rb +73 -0
  233. data/lib/stack_one/models/operations/messaging_list_attachments_response.rb +49 -0
  234. data/lib/stack_one/models/operations/messaging_list_conversation_messages_queryparam_filter.rb +33 -0
  235. data/lib/stack_one/models/operations/messaging_list_conversation_messages_request.rb +73 -0
  236. data/lib/stack_one/models/operations/messaging_list_conversation_messages_response.rb +49 -0
  237. data/lib/stack_one/models/operations/messaging_list_conversations_queryparam_filter.rb +33 -0
  238. data/lib/stack_one/models/operations/messaging_list_conversations_request.rb +69 -0
  239. data/lib/stack_one/models/operations/messaging_list_conversations_response.rb +49 -0
  240. data/lib/stack_one/models/operations/messaging_list_users_queryparam_filter.rb +33 -0
  241. data/lib/stack_one/models/operations/messaging_list_users_request.rb +69 -0
  242. data/lib/stack_one/models/operations/messaging_list_users_response.rb +49 -0
  243. data/lib/stack_one/models/operations/messaging_send_message_request.rb +37 -0
  244. data/lib/stack_one/models/operations/messaging_send_message_response.rb +49 -0
  245. data/lib/stack_one/models/operations/queryparam_active.rb +28 -0
  246. data/lib/stack_one/models/operations/queryparam_filter.rb +3 -3
  247. data/lib/stack_one/models/operations/screening_create_screening_order_request.rb +37 -0
  248. data/lib/stack_one/models/operations/screening_create_screening_order_response.rb +49 -0
  249. data/lib/stack_one/models/operations/screening_get_screening_package_request.rb +49 -0
  250. data/lib/stack_one/models/operations/screening_get_screening_package_response.rb +49 -0
  251. data/lib/stack_one/models/operations/screening_list_screening_packages_queryparam_filter.rb +33 -0
  252. data/lib/stack_one/models/operations/screening_list_screening_packages_request.rb +69 -0
  253. data/lib/stack_one/models/operations/screening_list_screening_packages_response.rb +49 -0
  254. data/lib/stack_one/models/operations/screening_webhook_screening_result_request.rb +37 -0
  255. data/lib/stack_one/models/operations/screening_webhook_screening_result_response.rb +49 -0
  256. data/lib/stack_one/models/operations/stackone_list_linked_accounts_request.rb +6 -2
  257. data/lib/stack_one/models/operations/stackone_list_step_logs_queryparam_filter.rb +3 -3
  258. data/lib/stack_one/models/operations/ticketing_create_ticket_request.rb +37 -0
  259. data/lib/stack_one/models/operations/ticketing_create_ticket_response.rb +49 -0
  260. data/lib/stack_one/models/operations/ticketing_download_ticketing_attachment_request.rb +49 -0
  261. data/lib/stack_one/models/operations/ticketing_download_ticketing_attachment_response.rb +49 -0
  262. data/lib/stack_one/models/operations/ticketing_get_attachment_request.rb +53 -0
  263. data/lib/stack_one/models/operations/ticketing_get_attachment_response.rb +49 -0
  264. data/lib/stack_one/models/operations/ticketing_get_comment_request.rb +53 -0
  265. data/lib/stack_one/models/operations/ticketing_get_comment_response.rb +49 -0
  266. data/lib/stack_one/models/operations/ticketing_get_project_component_request.rb +53 -0
  267. data/lib/stack_one/models/operations/ticketing_get_project_component_response.rb +49 -0
  268. data/lib/stack_one/models/operations/ticketing_get_project_request.rb +49 -0
  269. data/lib/stack_one/models/operations/ticketing_get_project_response.rb +49 -0
  270. data/lib/stack_one/models/operations/ticketing_get_ticket_request.rb +49 -0
  271. data/lib/stack_one/models/operations/ticketing_get_ticket_response.rb +49 -0
  272. data/lib/stack_one/models/operations/ticketing_get_ticket_type_request.rb +49 -0
  273. data/lib/stack_one/models/operations/ticketing_get_ticket_type_response.rb +49 -0
  274. data/lib/stack_one/models/operations/ticketing_get_user_request.rb +49 -0
  275. data/lib/stack_one/models/operations/ticketing_get_user_response.rb +49 -0
  276. data/lib/stack_one/models/operations/ticketing_list_attachments_queryparam_filter.rb +33 -0
  277. data/lib/stack_one/models/operations/ticketing_list_attachments_request.rb +73 -0
  278. data/lib/stack_one/models/operations/ticketing_list_attachments_response.rb +49 -0
  279. data/lib/stack_one/models/operations/ticketing_list_comments_queryparam_filter.rb +33 -0
  280. data/lib/stack_one/models/operations/ticketing_list_comments_request.rb +73 -0
  281. data/lib/stack_one/models/operations/ticketing_list_comments_response.rb +49 -0
  282. data/lib/stack_one/models/operations/ticketing_list_project_components_queryparam_filter.rb +33 -0
  283. data/lib/stack_one/models/operations/ticketing_list_project_components_request.rb +73 -0
  284. data/lib/stack_one/models/operations/ticketing_list_project_components_response.rb +49 -0
  285. data/lib/stack_one/models/operations/ticketing_list_project_ticket_types_queryparam_filter.rb +33 -0
  286. data/lib/stack_one/models/operations/ticketing_list_project_ticket_types_request.rb +73 -0
  287. data/lib/stack_one/models/operations/ticketing_list_project_ticket_types_response.rb +49 -0
  288. data/lib/stack_one/models/operations/ticketing_list_projects_queryparam_filter.rb +33 -0
  289. data/lib/stack_one/models/operations/ticketing_list_projects_request.rb +69 -0
  290. data/lib/stack_one/models/operations/ticketing_list_projects_response.rb +49 -0
  291. data/lib/stack_one/models/operations/ticketing_list_ticket_statuses_queryparam_filter.rb +33 -0
  292. data/lib/stack_one/models/operations/ticketing_list_ticket_statuses_request.rb +73 -0
  293. data/lib/stack_one/models/operations/ticketing_list_ticket_statuses_response.rb +49 -0
  294. data/lib/stack_one/models/operations/ticketing_list_ticket_types_queryparam_filter.rb +33 -0
  295. data/lib/stack_one/models/operations/ticketing_list_ticket_types_request.rb +69 -0
  296. data/lib/stack_one/models/operations/ticketing_list_ticket_types_response.rb +49 -0
  297. data/lib/stack_one/models/operations/ticketing_list_tickets_queryparam_filter.rb +33 -0
  298. data/lib/stack_one/models/operations/ticketing_list_tickets_request.rb +69 -0
  299. data/lib/stack_one/models/operations/ticketing_list_tickets_response.rb +49 -0
  300. data/lib/stack_one/models/operations/ticketing_list_users_queryparam_filter.rb +33 -0
  301. data/lib/stack_one/models/operations/ticketing_list_users_request.rb +69 -0
  302. data/lib/stack_one/models/operations/ticketing_list_users_response.rb +49 -0
  303. data/lib/stack_one/models/operations/ticketing_update_ticket_request.rb +41 -0
  304. data/lib/stack_one/models/operations/ticketing_update_ticket_response.rb +49 -0
  305. data/lib/stack_one/models/operations.rb +126 -0
  306. data/lib/stack_one/models/shared/account_type.rb +37 -0
  307. data/lib/stack_one/models/shared/accountingaccount.rb +57 -0
  308. data/lib/stack_one/models/shared/accountingaccount_4.rb +28 -0
  309. data/lib/stack_one/models/shared/accountingaccount_source_value.rb +28 -0
  310. data/lib/stack_one/models/shared/accountingaccount_value.rb +24 -0
  311. data/lib/stack_one/models/shared/accountingaccountresult.rb +37 -0
  312. data/lib/stack_one/models/shared/accountingaccountresult_2.rb +20 -0
  313. data/lib/stack_one/models/shared/accountingaccountresult_4.rb +28 -0
  314. data/lib/stack_one/models/shared/accountingaccountresult_active.rb +28 -0
  315. data/lib/stack_one/models/shared/accountingaccountresult_source_value.rb +28 -0
  316. data/lib/stack_one/models/shared/accountingaccountresult_type.rb +37 -0
  317. data/lib/stack_one/models/shared/accountingaccountresult_value.rb +24 -0
  318. data/lib/stack_one/models/shared/accountingaccountspaginated.rb +41 -0
  319. data/lib/stack_one/models/shared/accountingcompaniespaginated.rb +41 -0
  320. data/lib/stack_one/models/shared/accountingcompany.rb +53 -0
  321. data/lib/stack_one/models/shared/accountingcompany_4.rb +28 -0
  322. data/lib/stack_one/models/shared/accountingcompany_source_value.rb +28 -0
  323. data/lib/stack_one/models/shared/accountingcompany_value.rb +176 -0
  324. data/lib/stack_one/models/shared/accountingcompanyresult.rb +37 -0
  325. data/lib/stack_one/models/shared/accountingcompanyresult_4.rb +28 -0
  326. data/lib/stack_one/models/shared/accountingcompanyresult_base_currency.rb +37 -0
  327. data/lib/stack_one/models/shared/accountingcompanyresult_data.rb +53 -0
  328. data/lib/stack_one/models/shared/accountingcompanyresult_source_value.rb +28 -0
  329. data/lib/stack_one/models/shared/accountingcompanyresult_value.rb +176 -0
  330. data/lib/stack_one/models/shared/accountingjournal.rb +73 -0
  331. data/lib/stack_one/models/shared/accountingjournal_4.rb +28 -0
  332. data/lib/stack_one/models/shared/accountingjournal_source_value.rb +28 -0
  333. data/lib/stack_one/models/shared/accountingjournal_value.rb +22 -0
  334. data/lib/stack_one/models/shared/accountingjournalbatchcreaterequestdto.rb +33 -0
  335. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto.rb +53 -0
  336. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto_4.rb +28 -0
  337. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto_source_value.rb +28 -0
  338. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto_value.rb +176 -0
  339. data/lib/stack_one/models/shared/accountingjournalresult.rb +37 -0
  340. data/lib/stack_one/models/shared/accountingjournalresult_4.rb +28 -0
  341. data/lib/stack_one/models/shared/accountingjournalresult_data.rb +73 -0
  342. data/lib/stack_one/models/shared/accountingjournalresult_source_value.rb +28 -0
  343. data/lib/stack_one/models/shared/accountingjournalresult_status.rb +37 -0
  344. data/lib/stack_one/models/shared/accountingjournalresult_value.rb +22 -0
  345. data/lib/stack_one/models/shared/accountingjournalspaginated.rb +41 -0
  346. data/lib/stack_one/models/shared/accountingtaxrate.rb +57 -0
  347. data/lib/stack_one/models/shared/accountingtaxrate_2.rb +20 -0
  348. data/lib/stack_one/models/shared/accountingtaxrate_active.rb +28 -0
  349. data/lib/stack_one/models/shared/accountingtaxrateresult.rb +37 -0
  350. data/lib/stack_one/models/shared/accountingtaxrateresult_2.rb +20 -0
  351. data/lib/stack_one/models/shared/accountingtaxrateresult_active.rb +28 -0
  352. data/lib/stack_one/models/shared/accountingtaxrateresult_data.rb +57 -0
  353. data/lib/stack_one/models/shared/accountingtaxratespaginated.rb +41 -0
  354. data/lib/stack_one/models/shared/active.rb +1 -1
  355. data/lib/stack_one/models/shared/answer.rb +2 -2
  356. data/lib/stack_one/models/shared/answer_type.rb +37 -0
  357. data/lib/stack_one/models/shared/application.rb +2 -0
  358. data/lib/stack_one/models/shared/assignment.rb +5 -5
  359. data/lib/stack_one/models/shared/assignment_status.rb +37 -0
  360. data/lib/stack_one/models/shared/author.rb +69 -0
  361. data/lib/stack_one/models/shared/base_currency.rb +37 -0
  362. data/lib/stack_one/models/shared/bot.rb +28 -0
  363. data/lib/stack_one/models/shared/campaign.rb +3 -3
  364. data/lib/stack_one/models/shared/campaign_schemas_2.rb +20 -0
  365. data/lib/stack_one/models/shared/category_active.rb +28 -0
  366. data/lib/stack_one/models/shared/completion.rb +4 -4
  367. data/lib/stack_one/models/shared/contentpaginated.rb +6 -2
  368. data/lib/stack_one/models/shared/course.rb +3 -3
  369. data/lib/stack_one/models/shared/coursepaginated.rb +6 -2
  370. data/lib/stack_one/models/shared/createjournalline.rb +49 -0
  371. data/lib/stack_one/models/shared/currency_code.rb +37 -0
  372. data/lib/stack_one/models/shared/data.rb +19 -43
  373. data/lib/stack_one/models/shared/driveresult.rb +37 -0
  374. data/lib/stack_one/models/shared/drives.rb +57 -0
  375. data/lib/stack_one/models/shared/drivespaginated.rb +41 -0
  376. data/lib/stack_one/models/shared/employee.rb +4 -2
  377. data/lib/stack_one/models/shared/employment.rb +2 -2
  378. data/lib/stack_one/models/shared/employment_2.rb +20 -0
  379. data/lib/stack_one/models/shared/employment_active.rb +28 -0
  380. data/lib/stack_one/models/shared/entityskills.rb +2 -2
  381. data/lib/stack_one/models/shared/entityskills_2.rb +20 -0
  382. data/lib/stack_one/models/shared/entityskills_active.rb +28 -0
  383. data/lib/stack_one/models/shared/event.rb +23 -0
  384. data/lib/stack_one/models/shared/fileresult.rb +37 -0
  385. data/lib/stack_one/models/shared/files.rb +113 -0
  386. data/lib/stack_one/models/shared/files_2.rb +20 -0
  387. data/lib/stack_one/models/shared/files_4.rb +28 -0
  388. data/lib/stack_one/models/shared/files_file_format.rb +37 -0
  389. data/lib/stack_one/models/shared/files_schemas_2.rb +20 -0
  390. data/lib/stack_one/models/shared/files_source_value.rb +28 -0
  391. data/lib/stack_one/models/shared/files_value.rb +1229 -0
  392. data/lib/stack_one/models/shared/filespaginated.rb +41 -0
  393. data/lib/stack_one/models/shared/folderresult.rb +37 -0
  394. data/lib/stack_one/models/shared/folders.rb +105 -0
  395. data/lib/stack_one/models/shared/folders_2.rb +20 -0
  396. data/lib/stack_one/models/shared/folders_has_children.rb +28 -0
  397. data/lib/stack_one/models/shared/folders_has_content.rb +28 -0
  398. data/lib/stack_one/models/shared/folders_schemas_2.rb +20 -0
  399. data/lib/stack_one/models/shared/folders_schemas_is_root_2.rb +20 -0
  400. data/lib/stack_one/models/shared/folderspaginated.rb +41 -0
  401. data/lib/stack_one/models/shared/has_children.rb +28 -0
  402. data/lib/stack_one/models/shared/has_content.rb +28 -0
  403. data/lib/stack_one/models/shared/hriscreateemployeerequestdto.rb +2 -2
  404. data/lib/stack_one/models/shared/hrisshiftresult.rb +2 -2
  405. data/lib/stack_one/models/shared/hrisshiftresult_data.rb +81 -0
  406. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto.rb +2 -2
  407. data/lib/stack_one/models/shared/is_paid.rb +28 -0
  408. data/lib/stack_one/models/shared/is_root.rb +28 -0
  409. data/lib/stack_one/models/shared/journalline.rb +65 -0
  410. data/lib/stack_one/models/shared/journalline_4.rb +28 -0
  411. data/lib/stack_one/models/shared/journalline_currency_code.rb +37 -0
  412. data/lib/stack_one/models/shared/journalline_schemas_4.rb +28 -0
  413. data/lib/stack_one/models/shared/journalline_schemas_source_value.rb +28 -0
  414. data/lib/stack_one/models/shared/journalline_schemas_value.rb +176 -0
  415. data/lib/stack_one/models/shared/journalline_source_value.rb +28 -0
  416. data/lib/stack_one/models/shared/journalline_value.rb +24 -0
  417. data/lib/stack_one/models/shared/lmscreateassignmentrequestdto.rb +3 -3
  418. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto.rb +2 -2
  419. data/lib/stack_one/models/shared/messagingattachment.rb +49 -0
  420. data/lib/stack_one/models/shared/messagingattachmentresult.rb +37 -0
  421. data/lib/stack_one/models/shared/messagingattachmentresult_data.rb +49 -0
  422. data/lib/stack_one/models/shared/messagingattachmentspaginated.rb +41 -0
  423. data/lib/stack_one/models/shared/messagingconversation.rb +57 -0
  424. data/lib/stack_one/models/shared/messagingconversation_2.rb +20 -0
  425. data/lib/stack_one/models/shared/messagingconversationresult.rb +37 -0
  426. data/lib/stack_one/models/shared/messagingconversationresult_2.rb +20 -0
  427. data/lib/stack_one/models/shared/messagingconversationresult_data.rb +57 -0
  428. data/lib/stack_one/models/shared/messagingconversationresult_private.rb +28 -0
  429. data/lib/stack_one/models/shared/messagingconversationspaginated.rb +41 -0
  430. data/lib/stack_one/models/shared/messagingcreateconversationrequestdto.rb +41 -0
  431. data/lib/stack_one/models/shared/messagingcreateconversationrequestdto_2.rb +20 -0
  432. data/lib/stack_one/models/shared/messagingcreateconversationrequestdto_private.rb +28 -0
  433. data/lib/stack_one/models/shared/messagingmessage.rb +61 -0
  434. data/lib/stack_one/models/shared/messagingmessage_2.rb +20 -0
  435. data/lib/stack_one/models/shared/messagingmessage_active.rb +28 -0
  436. data/lib/stack_one/models/shared/messagingmessage_content.rb +37 -0
  437. data/lib/stack_one/models/shared/messagingmessageresult.rb +37 -0
  438. data/lib/stack_one/models/shared/messagingmessageresult_2.rb +20 -0
  439. data/lib/stack_one/models/shared/messagingmessageresult_active.rb +28 -0
  440. data/lib/stack_one/models/shared/messagingmessageresult_author.rb +69 -0
  441. data/lib/stack_one/models/shared/messagingmessageresult_content.rb +37 -0
  442. data/lib/stack_one/models/shared/messagingmessageresult_data.rb +61 -0
  443. data/lib/stack_one/models/shared/messagingmessagesendrequestdto.rb +41 -0
  444. data/lib/stack_one/models/shared/messagingmessagespaginated.rb +41 -0
  445. data/lib/stack_one/models/shared/messaginguser.rb +65 -0
  446. data/lib/stack_one/models/shared/messaginguser_2.rb +20 -0
  447. data/lib/stack_one/models/shared/messaginguser_active.rb +28 -0
  448. data/lib/stack_one/models/shared/messaginguser_schemas_2.rb +20 -0
  449. data/lib/stack_one/models/shared/messaginguserresult.rb +37 -0
  450. data/lib/stack_one/models/shared/messaginguserresult_2.rb +20 -0
  451. data/lib/stack_one/models/shared/messaginguserresult_active.rb +28 -0
  452. data/lib/stack_one/models/shared/messaginguserresult_bot.rb +28 -0
  453. data/lib/stack_one/models/shared/messaginguserresult_data.rb +65 -0
  454. data/lib/stack_one/models/shared/messaginguserresult_schemas_2.rb +20 -0
  455. data/lib/stack_one/models/shared/messaginguserspaginated.rb +41 -0
  456. data/lib/stack_one/models/shared/organization.rb +45 -0
  457. data/lib/stack_one/models/shared/priority.rb +41 -0
  458. data/lib/stack_one/models/shared/private.rb +28 -0
  459. data/lib/stack_one/models/shared/screeningcreateorderrequestdto.rb +45 -0
  460. data/lib/stack_one/models/shared/screeningordercandidate.rb +41 -0
  461. data/lib/stack_one/models/shared/screeningpackage.rb +49 -0
  462. data/lib/stack_one/models/shared/screeningpackageresult.rb +37 -0
  463. data/lib/stack_one/models/shared/screeningpackagespaginated.rb +45 -0
  464. data/lib/stack_one/models/shared/screeningresult.rb +69 -0
  465. data/lib/stack_one/models/shared/screeningresult_score.rb +45 -0
  466. data/lib/stack_one/models/shared/screeningresult_status.rb +24 -0
  467. data/lib/stack_one/models/shared/screeningresultwebhook.rb +41 -0
  468. data/lib/stack_one/models/shared/shiftbreak.rb +2 -2
  469. data/lib/stack_one/models/shared/shiftbreak_2.rb +20 -0
  470. data/lib/stack_one/models/shared/status.rb +5 -5
  471. data/lib/stack_one/models/shared/ticketingattachment.rb +69 -0
  472. data/lib/stack_one/models/shared/ticketingattachment_4.rb +28 -0
  473. data/lib/stack_one/models/shared/ticketingattachment_file_format.rb +37 -0
  474. data/lib/stack_one/models/shared/ticketingattachment_source_value.rb +28 -0
  475. data/lib/stack_one/models/shared/ticketingattachment_value.rb +1229 -0
  476. data/lib/stack_one/models/shared/ticketingattachmentresult.rb +37 -0
  477. data/lib/stack_one/models/shared/ticketingattachmentresult_4.rb +28 -0
  478. data/lib/stack_one/models/shared/ticketingattachmentresult_data.rb +69 -0
  479. data/lib/stack_one/models/shared/ticketingattachmentresult_file_format.rb +37 -0
  480. data/lib/stack_one/models/shared/ticketingattachmentresult_source_value.rb +28 -0
  481. data/lib/stack_one/models/shared/ticketingattachmentresult_value.rb +1229 -0
  482. data/lib/stack_one/models/shared/ticketingattachmentspaginated.rb +41 -0
  483. data/lib/stack_one/models/shared/ticketingcomment.rb +61 -0
  484. data/lib/stack_one/models/shared/ticketingcomment_2.rb +20 -0
  485. data/lib/stack_one/models/shared/ticketingcomment_internal.rb +28 -0
  486. data/lib/stack_one/models/shared/ticketingcommentresult.rb +37 -0
  487. data/lib/stack_one/models/shared/ticketingcommentresult_2.rb +20 -0
  488. data/lib/stack_one/models/shared/ticketingcommentresult_data.rb +61 -0
  489. data/lib/stack_one/models/shared/ticketingcommentresult_internal.rb +28 -0
  490. data/lib/stack_one/models/shared/ticketingcommentspaginated.rb +41 -0
  491. data/lib/stack_one/models/shared/ticketingcomponent.rb +61 -0
  492. data/lib/stack_one/models/shared/ticketingcomponentresult.rb +37 -0
  493. data/lib/stack_one/models/shared/ticketingcomponentresult_data.rb +61 -0
  494. data/lib/stack_one/models/shared/ticketingcomponentspaginated.rb +41 -0
  495. data/lib/stack_one/models/shared/ticketingcontent.rb +37 -0
  496. data/lib/stack_one/models/shared/ticketingproject.rb +57 -0
  497. data/lib/stack_one/models/shared/ticketingprojectresult.rb +37 -0
  498. data/lib/stack_one/models/shared/ticketingprojectresult_data.rb +57 -0
  499. data/lib/stack_one/models/shared/ticketingprojectspaginated.rb +41 -0
  500. data/lib/stack_one/models/shared/ticketingreadticket.rb +113 -0
  501. data/lib/stack_one/models/shared/ticketingreadticket_4.rb +28 -0
  502. data/lib/stack_one/models/shared/ticketingreadticket_schemas_4.rb +28 -0
  503. data/lib/stack_one/models/shared/ticketingreadticket_schemas_source_value.rb +28 -0
  504. data/lib/stack_one/models/shared/ticketingreadticket_schemas_type.rb +37 -0
  505. data/lib/stack_one/models/shared/ticketingreadticket_schemas_value.rb +22 -0
  506. data/lib/stack_one/models/shared/ticketingreadticket_source_value.rb +28 -0
  507. data/lib/stack_one/models/shared/ticketingreadticket_status.rb +41 -0
  508. data/lib/stack_one/models/shared/ticketingreadticket_type.rb +41 -0
  509. data/lib/stack_one/models/shared/ticketingreadticket_value.rb +24 -0
  510. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto.rb +81 -0
  511. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_4.rb +28 -0
  512. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_priority.rb +41 -0
  513. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_source_value.rb +28 -0
  514. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_value.rb +24 -0
  515. data/lib/stack_one/models/shared/ticketingticketresult.rb +37 -0
  516. data/lib/stack_one/models/shared/ticketingticketresult_4.rb +28 -0
  517. data/lib/stack_one/models/shared/ticketingticketresult_data.rb +113 -0
  518. data/lib/stack_one/models/shared/ticketingticketresult_organization.rb +45 -0
  519. data/lib/stack_one/models/shared/ticketingticketresult_priority.rb +41 -0
  520. data/lib/stack_one/models/shared/ticketingticketresult_schemas_4.rb +28 -0
  521. data/lib/stack_one/models/shared/ticketingticketresult_schemas_source_value.rb +28 -0
  522. data/lib/stack_one/models/shared/ticketingticketresult_schemas_type.rb +37 -0
  523. data/lib/stack_one/models/shared/ticketingticketresult_schemas_value.rb +22 -0
  524. data/lib/stack_one/models/shared/ticketingticketresult_source_value.rb +28 -0
  525. data/lib/stack_one/models/shared/ticketingticketresult_status.rb +41 -0
  526. data/lib/stack_one/models/shared/ticketingticketresult_type.rb +41 -0
  527. data/lib/stack_one/models/shared/ticketingticketresult_value.rb +24 -0
  528. data/lib/stack_one/models/shared/ticketingticketspaginated.rb +41 -0
  529. data/lib/stack_one/models/shared/ticketingticketstatus.rb +41 -0
  530. data/lib/stack_one/models/shared/ticketingticketstatus_4.rb +28 -0
  531. data/lib/stack_one/models/shared/ticketingticketstatus_source_value.rb +28 -0
  532. data/lib/stack_one/models/shared/ticketingticketstatus_type.rb +37 -0
  533. data/lib/stack_one/models/shared/ticketingticketstatus_value.rb +22 -0
  534. data/lib/stack_one/models/shared/ticketingticketstatusespaginated.rb +41 -0
  535. data/lib/stack_one/models/shared/ticketingtickettype.rb +41 -0
  536. data/lib/stack_one/models/shared/ticketingtickettypepaginated.rb +41 -0
  537. data/lib/stack_one/models/shared/ticketingtickettyperesult.rb +37 -0
  538. data/lib/stack_one/models/shared/ticketingtickettyperesult_data.rb +41 -0
  539. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto.rb +73 -0
  540. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_4.rb +28 -0
  541. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_priority.rb +41 -0
  542. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_schemas_4.rb +28 -0
  543. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_schemas_source_value.rb +28 -0
  544. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_schemas_value.rb +22 -0
  545. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_source_value.rb +28 -0
  546. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_status.rb +41 -0
  547. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_type.rb +37 -0
  548. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_value.rb +24 -0
  549. data/lib/stack_one/models/shared/ticketinguser.rb +81 -0
  550. data/lib/stack_one/models/shared/ticketinguser_2.rb +20 -0
  551. data/lib/stack_one/models/shared/ticketinguser_4.rb +28 -0
  552. data/lib/stack_one/models/shared/ticketinguser_active.rb +28 -0
  553. data/lib/stack_one/models/shared/ticketinguser_source_value.rb +28 -0
  554. data/lib/stack_one/models/shared/ticketinguser_type.rb +37 -0
  555. data/lib/stack_one/models/shared/ticketinguser_value.rb +22 -0
  556. data/lib/stack_one/models/shared/ticketinguserresult.rb +37 -0
  557. data/lib/stack_one/models/shared/ticketinguserresult_2.rb +20 -0
  558. data/lib/stack_one/models/shared/ticketinguserresult_4.rb +28 -0
  559. data/lib/stack_one/models/shared/ticketinguserresult_active.rb +28 -0
  560. data/lib/stack_one/models/shared/ticketinguserresult_data.rb +81 -0
  561. data/lib/stack_one/models/shared/ticketinguserresult_source_value.rb +28 -0
  562. data/lib/stack_one/models/shared/ticketinguserresult_type.rb +37 -0
  563. data/lib/stack_one/models/shared/ticketinguserresult_value.rb +22 -0
  564. data/lib/stack_one/models/shared/ticketinguserspaginated.rb +41 -0
  565. data/lib/stack_one/models/shared/type.rb +6 -6
  566. data/lib/stack_one/models/shared.rb +239 -0
  567. data/lib/stack_one/proxy.rb +1 -1
  568. data/lib/stack_one/request_logs.rb +1 -1
  569. data/lib/stack_one/screening.rb +1143 -0
  570. data/lib/stack_one/sdkconfiguration.rb +2 -2
  571. data/lib/stack_one/stackone.rb +6 -1
  572. data/lib/stack_one/ticketing.rb +5292 -0
  573. data/lib/stackone_client.rb +5 -0
  574. metadata +372 -2
@@ -0,0 +1,3069 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module StackOne
14
+ extend T::Sig
15
+ class Messaging
16
+ extend T::Sig
17
+
18
+
19
+ sig { params(sdk_config: SDKConfiguration).void }
20
+ def initialize(sdk_config)
21
+ @sdk_configuration = sdk_config
22
+ end
23
+
24
+
25
+ sig { params(messaging_create_conversation_request_dto: Models::Shared::MessagingCreateConversationRequestDto, x_account_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingCreateConversationResponse) }
26
+ def create_conversation(messaging_create_conversation_request_dto, x_account_id, retries = nil, timeout_ms = nil)
27
+ # create_conversation - Create Conversation
28
+ request = Models::Operations::MessagingCreateConversationRequest.new(
29
+
30
+ messaging_create_conversation_request_dto: messaging_create_conversation_request_dto,
31
+ x_account_id: x_account_id
32
+ )
33
+ url, params = @sdk_configuration.get_server_details
34
+ base_url = Utils.template_url(url, params)
35
+ url = "#{base_url}/unified/messaging/conversations"
36
+ headers = Utils.get_headers(request)
37
+ req_content_type, data, form = Utils.serialize_request_body(request, :messaging_create_conversation_request_dto, :json)
38
+ headers['content-type'] = req_content_type
39
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
40
+
41
+ if form
42
+ body = Utils.encode_form(form)
43
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
44
+ body = URI.encode_www_form(data)
45
+ else
46
+ body = data
47
+ end
48
+ headers['Accept'] = 'application/json'
49
+ headers['user-agent'] = @sdk_configuration.user_agent
50
+ retries ||= @sdk_configuration.retry_config
51
+ retries ||= Utils::RetryConfig.new(
52
+ backoff: Utils::BackoffStrategy.new(
53
+ exponent: 1.5,
54
+ initial_interval: 500,
55
+ max_elapsed_time: 3_600_000,
56
+ max_interval: 60_000
57
+ ),
58
+ retry_connection_errors: true,
59
+ strategy: 'backoff'
60
+ )
61
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
62
+ retry_options[:retry_statuses] = [429, 408]
63
+
64
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
65
+
66
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
67
+ timeout ||= @sdk_configuration.timeout
68
+
69
+ connection = @sdk_configuration.client.dup
70
+ connection.request :retry, retry_options
71
+
72
+ hook_ctx = SDKHooks::HookContext.new(
73
+ base_url: base_url,
74
+ oauth2_scopes: [],
75
+ operation_id: 'messaging_create_conversation',
76
+ security_source: @sdk_configuration.security_source
77
+ )
78
+
79
+ error = T.let(nil, T.nilable(StandardError))
80
+ http_response = T.let(nil, T.nilable(Faraday::Response))
81
+
82
+
83
+ begin
84
+ http_response = connection.post(url) do |req|
85
+ req.body = body
86
+ req.headers.merge!(headers)
87
+ req.options.timeout = timeout unless timeout.nil?
88
+ Utils.configure_request_security(req, security)
89
+
90
+ @sdk_configuration.hooks.before_request(
91
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
92
+ hook_ctx: hook_ctx
93
+ ),
94
+ request: req
95
+ )
96
+ end
97
+ rescue StandardError => e
98
+ error = e
99
+ ensure
100
+ if http_response.nil? || Utils.error_status?(http_response.status)
101
+ http_response = @sdk_configuration.hooks.after_error(
102
+ error: error,
103
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
104
+ hook_ctx: hook_ctx
105
+ ),
106
+ response: http_response
107
+ )
108
+ else
109
+ http_response = @sdk_configuration.hooks.after_success(
110
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
111
+ hook_ctx: hook_ctx
112
+ ),
113
+ response: http_response
114
+ )
115
+ end
116
+
117
+ if http_response.nil?
118
+ raise error if !error.nil?
119
+ raise 'no response'
120
+ end
121
+ end
122
+
123
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
124
+ if Utils.match_status_code(http_response.status, ['201'])
125
+ if Utils.match_content_type(content_type, 'application/json')
126
+ http_response = @sdk_configuration.hooks.after_success(
127
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
128
+ hook_ctx: hook_ctx
129
+ ),
130
+ response: http_response
131
+ )
132
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::CreateResult)
133
+ response = Models::Operations::MessagingCreateConversationResponse.new(
134
+ status_code: http_response.status,
135
+ content_type: content_type,
136
+ raw_response: http_response,
137
+ create_result: obj
138
+ )
139
+
140
+ return response
141
+ else
142
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
143
+ end
144
+ elsif Utils.match_status_code(http_response.status, ['400'])
145
+ if Utils.match_content_type(content_type, 'application/json')
146
+ http_response = @sdk_configuration.hooks.after_success(
147
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
148
+ hook_ctx: hook_ctx
149
+ ),
150
+ response: http_response
151
+ )
152
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
153
+ throw obj
154
+ else
155
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
156
+ end
157
+ elsif Utils.match_status_code(http_response.status, ['401'])
158
+ if Utils.match_content_type(content_type, 'application/json')
159
+ http_response = @sdk_configuration.hooks.after_success(
160
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
161
+ hook_ctx: hook_ctx
162
+ ),
163
+ response: http_response
164
+ )
165
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
166
+ throw obj
167
+ else
168
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
169
+ end
170
+ elsif Utils.match_status_code(http_response.status, ['403'])
171
+ if Utils.match_content_type(content_type, 'application/json')
172
+ http_response = @sdk_configuration.hooks.after_success(
173
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
174
+ hook_ctx: hook_ctx
175
+ ),
176
+ response: http_response
177
+ )
178
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
179
+ throw obj
180
+ else
181
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
182
+ end
183
+ elsif Utils.match_status_code(http_response.status, ['404'])
184
+ if Utils.match_content_type(content_type, 'application/json')
185
+ http_response = @sdk_configuration.hooks.after_success(
186
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
187
+ hook_ctx: hook_ctx
188
+ ),
189
+ response: http_response
190
+ )
191
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
192
+ throw obj
193
+ else
194
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
195
+ end
196
+ elsif Utils.match_status_code(http_response.status, ['408'])
197
+ if Utils.match_content_type(content_type, 'application/json')
198
+ http_response = @sdk_configuration.hooks.after_success(
199
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
200
+ hook_ctx: hook_ctx
201
+ ),
202
+ response: http_response
203
+ )
204
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
205
+ throw obj
206
+ else
207
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
208
+ end
209
+ elsif Utils.match_status_code(http_response.status, ['409'])
210
+ if Utils.match_content_type(content_type, 'application/json')
211
+ http_response = @sdk_configuration.hooks.after_success(
212
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
213
+ hook_ctx: hook_ctx
214
+ ),
215
+ response: http_response
216
+ )
217
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
218
+ throw obj
219
+ else
220
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
221
+ end
222
+ elsif Utils.match_status_code(http_response.status, ['412'])
223
+ if Utils.match_content_type(content_type, 'application/json')
224
+ http_response = @sdk_configuration.hooks.after_success(
225
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
226
+ hook_ctx: hook_ctx
227
+ ),
228
+ response: http_response
229
+ )
230
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
231
+ throw obj
232
+ else
233
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
234
+ end
235
+ elsif Utils.match_status_code(http_response.status, ['422'])
236
+ if Utils.match_content_type(content_type, 'application/json')
237
+ http_response = @sdk_configuration.hooks.after_success(
238
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
239
+ hook_ctx: hook_ctx
240
+ ),
241
+ response: http_response
242
+ )
243
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
244
+ throw obj
245
+ else
246
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
247
+ end
248
+ elsif Utils.match_status_code(http_response.status, ['429'])
249
+ if Utils.match_content_type(content_type, 'application/json')
250
+ http_response = @sdk_configuration.hooks.after_success(
251
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
252
+ hook_ctx: hook_ctx
253
+ ),
254
+ response: http_response
255
+ )
256
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
257
+ throw obj
258
+ else
259
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
260
+ end
261
+ elsif Utils.match_status_code(http_response.status, ['500'])
262
+ if Utils.match_content_type(content_type, 'application/json')
263
+ http_response = @sdk_configuration.hooks.after_success(
264
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
265
+ hook_ctx: hook_ctx
266
+ ),
267
+ response: http_response
268
+ )
269
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
270
+ throw obj
271
+ else
272
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
273
+ end
274
+ elsif Utils.match_status_code(http_response.status, ['501'])
275
+ if Utils.match_content_type(content_type, 'application/json')
276
+ http_response = @sdk_configuration.hooks.after_success(
277
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
278
+ hook_ctx: hook_ctx
279
+ ),
280
+ response: http_response
281
+ )
282
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
283
+ throw obj
284
+ else
285
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
286
+ end
287
+ elsif Utils.match_status_code(http_response.status, ['502'])
288
+ if Utils.match_content_type(content_type, 'application/json')
289
+ http_response = @sdk_configuration.hooks.after_success(
290
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
291
+ hook_ctx: hook_ctx
292
+ ),
293
+ response: http_response
294
+ )
295
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
296
+ throw obj
297
+ else
298
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
299
+ end
300
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
301
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
302
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
303
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
304
+ else
305
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
306
+
307
+ end
308
+ end
309
+
310
+
311
+ sig { params(request: T.nilable(Models::Operations::MessagingDownloadMessagingAttachmentRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingDownloadMessagingAttachmentResponse) }
312
+ def download_messaging_attachment(request, retries = nil, timeout_ms = nil)
313
+ # download_messaging_attachment - Download Attachment
314
+ url, params = @sdk_configuration.get_server_details
315
+ base_url = Utils.template_url(url, params)
316
+ url = Utils.generate_url(
317
+ Models::Operations::MessagingDownloadMessagingAttachmentRequest,
318
+ base_url,
319
+ '/unified/messaging/messages/{id}/attachments/{subResourceId}/download',
320
+ request
321
+ )
322
+ headers = Utils.get_headers(request)
323
+ query_params = Utils.get_query_params(Models::Operations::MessagingDownloadMessagingAttachmentRequest, request)
324
+ headers['Accept'] = '*/*'
325
+ headers['user-agent'] = @sdk_configuration.user_agent
326
+ retries ||= @sdk_configuration.retry_config
327
+ retries ||= Utils::RetryConfig.new(
328
+ backoff: Utils::BackoffStrategy.new(
329
+ exponent: 1.5,
330
+ initial_interval: 500,
331
+ max_elapsed_time: 3_600_000,
332
+ max_interval: 60_000
333
+ ),
334
+ retry_connection_errors: true,
335
+ strategy: 'backoff'
336
+ )
337
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
338
+ retry_options[:retry_statuses] = [429, 408]
339
+
340
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
341
+
342
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
343
+ timeout ||= @sdk_configuration.timeout
344
+
345
+ connection = @sdk_configuration.client.dup
346
+ connection.request :retry, retry_options
347
+
348
+ hook_ctx = SDKHooks::HookContext.new(
349
+ base_url: base_url,
350
+ oauth2_scopes: [],
351
+ operation_id: 'messaging_download_messaging_attachment',
352
+ security_source: @sdk_configuration.security_source
353
+ )
354
+
355
+ error = T.let(nil, T.nilable(StandardError))
356
+ http_response = T.let(nil, T.nilable(Faraday::Response))
357
+
358
+
359
+ begin
360
+ http_response = connection.get(url) do |req|
361
+ req.headers.merge!(headers)
362
+ req.options.timeout = timeout unless timeout.nil?
363
+ req.params = query_params
364
+ Utils.configure_request_security(req, security)
365
+
366
+ @sdk_configuration.hooks.before_request(
367
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
368
+ hook_ctx: hook_ctx
369
+ ),
370
+ request: req
371
+ )
372
+ end
373
+ rescue StandardError => e
374
+ error = e
375
+ ensure
376
+ if http_response.nil? || Utils.error_status?(http_response.status)
377
+ http_response = @sdk_configuration.hooks.after_error(
378
+ error: error,
379
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
380
+ hook_ctx: hook_ctx
381
+ ),
382
+ response: http_response
383
+ )
384
+ else
385
+ http_response = @sdk_configuration.hooks.after_success(
386
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
387
+ hook_ctx: hook_ctx
388
+ ),
389
+ response: http_response
390
+ )
391
+ end
392
+
393
+ if http_response.nil?
394
+ raise error if !error.nil?
395
+ raise 'no response'
396
+ end
397
+ end
398
+
399
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
400
+ if Utils.match_status_code(http_response.status, ['200'])
401
+ if Utils.match_content_type(content_type, '*/*')
402
+ http_response = @sdk_configuration.hooks.after_success(
403
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
404
+ hook_ctx: hook_ctx
405
+ ),
406
+ response: http_response
407
+ )
408
+ obj = http_response.env.body
409
+
410
+ return Models::Operations::MessagingDownloadMessagingAttachmentResponse.new(
411
+ status_code: http_response.status,
412
+ content_type: content_type,
413
+ raw_response: http_response,
414
+ bytes: obj
415
+ )
416
+ else
417
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
418
+ end
419
+ elsif Utils.match_status_code(http_response.status, ['400'])
420
+ if Utils.match_content_type(content_type, 'application/json')
421
+ http_response = @sdk_configuration.hooks.after_success(
422
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
423
+ hook_ctx: hook_ctx
424
+ ),
425
+ response: http_response
426
+ )
427
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
428
+ throw obj
429
+ else
430
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
431
+ end
432
+ elsif Utils.match_status_code(http_response.status, ['401'])
433
+ if Utils.match_content_type(content_type, 'application/json')
434
+ http_response = @sdk_configuration.hooks.after_success(
435
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
436
+ hook_ctx: hook_ctx
437
+ ),
438
+ response: http_response
439
+ )
440
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
441
+ throw obj
442
+ else
443
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
444
+ end
445
+ elsif Utils.match_status_code(http_response.status, ['403'])
446
+ if Utils.match_content_type(content_type, 'application/json')
447
+ http_response = @sdk_configuration.hooks.after_success(
448
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
449
+ hook_ctx: hook_ctx
450
+ ),
451
+ response: http_response
452
+ )
453
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
454
+ throw obj
455
+ else
456
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
457
+ end
458
+ elsif Utils.match_status_code(http_response.status, ['404'])
459
+ if Utils.match_content_type(content_type, 'application/json')
460
+ http_response = @sdk_configuration.hooks.after_success(
461
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
462
+ hook_ctx: hook_ctx
463
+ ),
464
+ response: http_response
465
+ )
466
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
467
+ throw obj
468
+ else
469
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
470
+ end
471
+ elsif Utils.match_status_code(http_response.status, ['408'])
472
+ if Utils.match_content_type(content_type, 'application/json')
473
+ http_response = @sdk_configuration.hooks.after_success(
474
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
475
+ hook_ctx: hook_ctx
476
+ ),
477
+ response: http_response
478
+ )
479
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
480
+ throw obj
481
+ else
482
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
483
+ end
484
+ elsif Utils.match_status_code(http_response.status, ['409'])
485
+ if Utils.match_content_type(content_type, 'application/json')
486
+ http_response = @sdk_configuration.hooks.after_success(
487
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
488
+ hook_ctx: hook_ctx
489
+ ),
490
+ response: http_response
491
+ )
492
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
493
+ throw obj
494
+ else
495
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
496
+ end
497
+ elsif Utils.match_status_code(http_response.status, ['412'])
498
+ if Utils.match_content_type(content_type, 'application/json')
499
+ http_response = @sdk_configuration.hooks.after_success(
500
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
501
+ hook_ctx: hook_ctx
502
+ ),
503
+ response: http_response
504
+ )
505
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
506
+ throw obj
507
+ else
508
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
509
+ end
510
+ elsif Utils.match_status_code(http_response.status, ['422'])
511
+ if Utils.match_content_type(content_type, 'application/json')
512
+ http_response = @sdk_configuration.hooks.after_success(
513
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
514
+ hook_ctx: hook_ctx
515
+ ),
516
+ response: http_response
517
+ )
518
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
519
+ throw obj
520
+ else
521
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
522
+ end
523
+ elsif Utils.match_status_code(http_response.status, ['429'])
524
+ if Utils.match_content_type(content_type, 'application/json')
525
+ http_response = @sdk_configuration.hooks.after_success(
526
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
527
+ hook_ctx: hook_ctx
528
+ ),
529
+ response: http_response
530
+ )
531
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
532
+ throw obj
533
+ else
534
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
535
+ end
536
+ elsif Utils.match_status_code(http_response.status, ['500'])
537
+ if Utils.match_content_type(content_type, 'application/json')
538
+ http_response = @sdk_configuration.hooks.after_success(
539
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
540
+ hook_ctx: hook_ctx
541
+ ),
542
+ response: http_response
543
+ )
544
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
545
+ throw obj
546
+ else
547
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
548
+ end
549
+ elsif Utils.match_status_code(http_response.status, ['501'])
550
+ if Utils.match_content_type(content_type, 'application/json')
551
+ http_response = @sdk_configuration.hooks.after_success(
552
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
553
+ hook_ctx: hook_ctx
554
+ ),
555
+ response: http_response
556
+ )
557
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
558
+ throw obj
559
+ else
560
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
561
+ end
562
+ elsif Utils.match_status_code(http_response.status, ['502'])
563
+ if Utils.match_content_type(content_type, 'application/json')
564
+ http_response = @sdk_configuration.hooks.after_success(
565
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
566
+ hook_ctx: hook_ctx
567
+ ),
568
+ response: http_response
569
+ )
570
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
571
+ throw obj
572
+ else
573
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
574
+ end
575
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
576
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
577
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
578
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
579
+ else
580
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
581
+
582
+ end
583
+ end
584
+
585
+
586
+ sig { params(request: T.nilable(Models::Operations::MessagingGetAttachmentRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingGetAttachmentResponse) }
587
+ def get_attachment(request, retries = nil, timeout_ms = nil)
588
+ # get_attachment - Get Attachment
589
+ url, params = @sdk_configuration.get_server_details
590
+ base_url = Utils.template_url(url, params)
591
+ url = Utils.generate_url(
592
+ Models::Operations::MessagingGetAttachmentRequest,
593
+ base_url,
594
+ '/unified/messaging/messages/{id}/attachments/{subResourceId}',
595
+ request
596
+ )
597
+ headers = Utils.get_headers(request)
598
+ query_params = Utils.get_query_params(Models::Operations::MessagingGetAttachmentRequest, request)
599
+ headers['Accept'] = 'application/json'
600
+ headers['user-agent'] = @sdk_configuration.user_agent
601
+ retries ||= @sdk_configuration.retry_config
602
+ retries ||= Utils::RetryConfig.new(
603
+ backoff: Utils::BackoffStrategy.new(
604
+ exponent: 1.5,
605
+ initial_interval: 500,
606
+ max_elapsed_time: 3_600_000,
607
+ max_interval: 60_000
608
+ ),
609
+ retry_connection_errors: true,
610
+ strategy: 'backoff'
611
+ )
612
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
613
+ retry_options[:retry_statuses] = [429, 408]
614
+
615
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
616
+
617
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
618
+ timeout ||= @sdk_configuration.timeout
619
+
620
+ connection = @sdk_configuration.client.dup
621
+ connection.request :retry, retry_options
622
+
623
+ hook_ctx = SDKHooks::HookContext.new(
624
+ base_url: base_url,
625
+ oauth2_scopes: [],
626
+ operation_id: 'messaging_get_attachment',
627
+ security_source: @sdk_configuration.security_source
628
+ )
629
+
630
+ error = T.let(nil, T.nilable(StandardError))
631
+ http_response = T.let(nil, T.nilable(Faraday::Response))
632
+
633
+
634
+ begin
635
+ http_response = connection.get(url) do |req|
636
+ req.headers.merge!(headers)
637
+ req.options.timeout = timeout unless timeout.nil?
638
+ req.params = query_params
639
+ Utils.configure_request_security(req, security)
640
+
641
+ @sdk_configuration.hooks.before_request(
642
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
643
+ hook_ctx: hook_ctx
644
+ ),
645
+ request: req
646
+ )
647
+ end
648
+ rescue StandardError => e
649
+ error = e
650
+ ensure
651
+ if http_response.nil? || Utils.error_status?(http_response.status)
652
+ http_response = @sdk_configuration.hooks.after_error(
653
+ error: error,
654
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
655
+ hook_ctx: hook_ctx
656
+ ),
657
+ response: http_response
658
+ )
659
+ else
660
+ http_response = @sdk_configuration.hooks.after_success(
661
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
662
+ hook_ctx: hook_ctx
663
+ ),
664
+ response: http_response
665
+ )
666
+ end
667
+
668
+ if http_response.nil?
669
+ raise error if !error.nil?
670
+ raise 'no response'
671
+ end
672
+ end
673
+
674
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
675
+ if Utils.match_status_code(http_response.status, ['200'])
676
+ if Utils.match_content_type(content_type, 'application/json')
677
+ http_response = @sdk_configuration.hooks.after_success(
678
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
679
+ hook_ctx: hook_ctx
680
+ ),
681
+ response: http_response
682
+ )
683
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingAttachmentResult)
684
+ response = Models::Operations::MessagingGetAttachmentResponse.new(
685
+ status_code: http_response.status,
686
+ content_type: content_type,
687
+ raw_response: http_response,
688
+ messaging_attachment_result: obj
689
+ )
690
+
691
+ return response
692
+ else
693
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
694
+ end
695
+ elsif Utils.match_status_code(http_response.status, ['400'])
696
+ if Utils.match_content_type(content_type, 'application/json')
697
+ http_response = @sdk_configuration.hooks.after_success(
698
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
699
+ hook_ctx: hook_ctx
700
+ ),
701
+ response: http_response
702
+ )
703
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
704
+ throw obj
705
+ else
706
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
707
+ end
708
+ elsif Utils.match_status_code(http_response.status, ['401'])
709
+ if Utils.match_content_type(content_type, 'application/json')
710
+ http_response = @sdk_configuration.hooks.after_success(
711
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
712
+ hook_ctx: hook_ctx
713
+ ),
714
+ response: http_response
715
+ )
716
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
717
+ throw obj
718
+ else
719
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
720
+ end
721
+ elsif Utils.match_status_code(http_response.status, ['403'])
722
+ if Utils.match_content_type(content_type, 'application/json')
723
+ http_response = @sdk_configuration.hooks.after_success(
724
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
725
+ hook_ctx: hook_ctx
726
+ ),
727
+ response: http_response
728
+ )
729
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
730
+ throw obj
731
+ else
732
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
733
+ end
734
+ elsif Utils.match_status_code(http_response.status, ['404'])
735
+ if Utils.match_content_type(content_type, 'application/json')
736
+ http_response = @sdk_configuration.hooks.after_success(
737
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
738
+ hook_ctx: hook_ctx
739
+ ),
740
+ response: http_response
741
+ )
742
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
743
+ throw obj
744
+ else
745
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
746
+ end
747
+ elsif Utils.match_status_code(http_response.status, ['408'])
748
+ if Utils.match_content_type(content_type, 'application/json')
749
+ http_response = @sdk_configuration.hooks.after_success(
750
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
751
+ hook_ctx: hook_ctx
752
+ ),
753
+ response: http_response
754
+ )
755
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
756
+ throw obj
757
+ else
758
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
759
+ end
760
+ elsif Utils.match_status_code(http_response.status, ['409'])
761
+ if Utils.match_content_type(content_type, 'application/json')
762
+ http_response = @sdk_configuration.hooks.after_success(
763
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
764
+ hook_ctx: hook_ctx
765
+ ),
766
+ response: http_response
767
+ )
768
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
769
+ throw obj
770
+ else
771
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
772
+ end
773
+ elsif Utils.match_status_code(http_response.status, ['412'])
774
+ if Utils.match_content_type(content_type, 'application/json')
775
+ http_response = @sdk_configuration.hooks.after_success(
776
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
777
+ hook_ctx: hook_ctx
778
+ ),
779
+ response: http_response
780
+ )
781
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
782
+ throw obj
783
+ else
784
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
785
+ end
786
+ elsif Utils.match_status_code(http_response.status, ['422'])
787
+ if Utils.match_content_type(content_type, 'application/json')
788
+ http_response = @sdk_configuration.hooks.after_success(
789
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
790
+ hook_ctx: hook_ctx
791
+ ),
792
+ response: http_response
793
+ )
794
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
795
+ throw obj
796
+ else
797
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
798
+ end
799
+ elsif Utils.match_status_code(http_response.status, ['429'])
800
+ if Utils.match_content_type(content_type, 'application/json')
801
+ http_response = @sdk_configuration.hooks.after_success(
802
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
803
+ hook_ctx: hook_ctx
804
+ ),
805
+ response: http_response
806
+ )
807
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
808
+ throw obj
809
+ else
810
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
811
+ end
812
+ elsif Utils.match_status_code(http_response.status, ['500'])
813
+ if Utils.match_content_type(content_type, 'application/json')
814
+ http_response = @sdk_configuration.hooks.after_success(
815
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
816
+ hook_ctx: hook_ctx
817
+ ),
818
+ response: http_response
819
+ )
820
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
821
+ throw obj
822
+ else
823
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
824
+ end
825
+ elsif Utils.match_status_code(http_response.status, ['501'])
826
+ if Utils.match_content_type(content_type, 'application/json')
827
+ http_response = @sdk_configuration.hooks.after_success(
828
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
829
+ hook_ctx: hook_ctx
830
+ ),
831
+ response: http_response
832
+ )
833
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
834
+ throw obj
835
+ else
836
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
837
+ end
838
+ elsif Utils.match_status_code(http_response.status, ['502'])
839
+ if Utils.match_content_type(content_type, 'application/json')
840
+ http_response = @sdk_configuration.hooks.after_success(
841
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
842
+ hook_ctx: hook_ctx
843
+ ),
844
+ response: http_response
845
+ )
846
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
847
+ throw obj
848
+ else
849
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
850
+ end
851
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
852
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
853
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
854
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
855
+ else
856
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
857
+
858
+ end
859
+ end
860
+
861
+
862
+ sig { params(request: T.nilable(Models::Operations::MessagingGetConversationRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingGetConversationResponse) }
863
+ def get_conversation(request, retries = nil, timeout_ms = nil)
864
+ # get_conversation - Get Conversation
865
+ url, params = @sdk_configuration.get_server_details
866
+ base_url = Utils.template_url(url, params)
867
+ url = Utils.generate_url(
868
+ Models::Operations::MessagingGetConversationRequest,
869
+ base_url,
870
+ '/unified/messaging/conversations/{id}',
871
+ request
872
+ )
873
+ headers = Utils.get_headers(request)
874
+ query_params = Utils.get_query_params(Models::Operations::MessagingGetConversationRequest, request)
875
+ headers['Accept'] = 'application/json'
876
+ headers['user-agent'] = @sdk_configuration.user_agent
877
+ retries ||= @sdk_configuration.retry_config
878
+ retries ||= Utils::RetryConfig.new(
879
+ backoff: Utils::BackoffStrategy.new(
880
+ exponent: 1.5,
881
+ initial_interval: 500,
882
+ max_elapsed_time: 3_600_000,
883
+ max_interval: 60_000
884
+ ),
885
+ retry_connection_errors: true,
886
+ strategy: 'backoff'
887
+ )
888
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
889
+ retry_options[:retry_statuses] = [429, 408]
890
+
891
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
892
+
893
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
894
+ timeout ||= @sdk_configuration.timeout
895
+
896
+ connection = @sdk_configuration.client.dup
897
+ connection.request :retry, retry_options
898
+
899
+ hook_ctx = SDKHooks::HookContext.new(
900
+ base_url: base_url,
901
+ oauth2_scopes: [],
902
+ operation_id: 'messaging_get_conversation',
903
+ security_source: @sdk_configuration.security_source
904
+ )
905
+
906
+ error = T.let(nil, T.nilable(StandardError))
907
+ http_response = T.let(nil, T.nilable(Faraday::Response))
908
+
909
+
910
+ begin
911
+ http_response = connection.get(url) do |req|
912
+ req.headers.merge!(headers)
913
+ req.options.timeout = timeout unless timeout.nil?
914
+ req.params = query_params
915
+ Utils.configure_request_security(req, security)
916
+
917
+ @sdk_configuration.hooks.before_request(
918
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
919
+ hook_ctx: hook_ctx
920
+ ),
921
+ request: req
922
+ )
923
+ end
924
+ rescue StandardError => e
925
+ error = e
926
+ ensure
927
+ if http_response.nil? || Utils.error_status?(http_response.status)
928
+ http_response = @sdk_configuration.hooks.after_error(
929
+ error: error,
930
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
931
+ hook_ctx: hook_ctx
932
+ ),
933
+ response: http_response
934
+ )
935
+ else
936
+ http_response = @sdk_configuration.hooks.after_success(
937
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
938
+ hook_ctx: hook_ctx
939
+ ),
940
+ response: http_response
941
+ )
942
+ end
943
+
944
+ if http_response.nil?
945
+ raise error if !error.nil?
946
+ raise 'no response'
947
+ end
948
+ end
949
+
950
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
951
+ if Utils.match_status_code(http_response.status, ['200'])
952
+ if Utils.match_content_type(content_type, 'application/json')
953
+ http_response = @sdk_configuration.hooks.after_success(
954
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
955
+ hook_ctx: hook_ctx
956
+ ),
957
+ response: http_response
958
+ )
959
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingConversationResult)
960
+ response = Models::Operations::MessagingGetConversationResponse.new(
961
+ status_code: http_response.status,
962
+ content_type: content_type,
963
+ raw_response: http_response,
964
+ messaging_conversation_result: obj
965
+ )
966
+
967
+ return response
968
+ else
969
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
970
+ end
971
+ elsif Utils.match_status_code(http_response.status, ['400'])
972
+ if Utils.match_content_type(content_type, 'application/json')
973
+ http_response = @sdk_configuration.hooks.after_success(
974
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
975
+ hook_ctx: hook_ctx
976
+ ),
977
+ response: http_response
978
+ )
979
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
980
+ throw obj
981
+ else
982
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
983
+ end
984
+ elsif Utils.match_status_code(http_response.status, ['401'])
985
+ if Utils.match_content_type(content_type, 'application/json')
986
+ http_response = @sdk_configuration.hooks.after_success(
987
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
988
+ hook_ctx: hook_ctx
989
+ ),
990
+ response: http_response
991
+ )
992
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
993
+ throw obj
994
+ else
995
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
996
+ end
997
+ elsif Utils.match_status_code(http_response.status, ['403'])
998
+ if Utils.match_content_type(content_type, 'application/json')
999
+ http_response = @sdk_configuration.hooks.after_success(
1000
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1001
+ hook_ctx: hook_ctx
1002
+ ),
1003
+ response: http_response
1004
+ )
1005
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1006
+ throw obj
1007
+ else
1008
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1009
+ end
1010
+ elsif Utils.match_status_code(http_response.status, ['404'])
1011
+ if Utils.match_content_type(content_type, 'application/json')
1012
+ http_response = @sdk_configuration.hooks.after_success(
1013
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1014
+ hook_ctx: hook_ctx
1015
+ ),
1016
+ response: http_response
1017
+ )
1018
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1019
+ throw obj
1020
+ else
1021
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1022
+ end
1023
+ elsif Utils.match_status_code(http_response.status, ['408'])
1024
+ if Utils.match_content_type(content_type, 'application/json')
1025
+ http_response = @sdk_configuration.hooks.after_success(
1026
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1027
+ hook_ctx: hook_ctx
1028
+ ),
1029
+ response: http_response
1030
+ )
1031
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1032
+ throw obj
1033
+ else
1034
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1035
+ end
1036
+ elsif Utils.match_status_code(http_response.status, ['409'])
1037
+ if Utils.match_content_type(content_type, 'application/json')
1038
+ http_response = @sdk_configuration.hooks.after_success(
1039
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1040
+ hook_ctx: hook_ctx
1041
+ ),
1042
+ response: http_response
1043
+ )
1044
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1045
+ throw obj
1046
+ else
1047
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1048
+ end
1049
+ elsif Utils.match_status_code(http_response.status, ['412'])
1050
+ if Utils.match_content_type(content_type, 'application/json')
1051
+ http_response = @sdk_configuration.hooks.after_success(
1052
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1053
+ hook_ctx: hook_ctx
1054
+ ),
1055
+ response: http_response
1056
+ )
1057
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1058
+ throw obj
1059
+ else
1060
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1061
+ end
1062
+ elsif Utils.match_status_code(http_response.status, ['422'])
1063
+ if Utils.match_content_type(content_type, 'application/json')
1064
+ http_response = @sdk_configuration.hooks.after_success(
1065
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1066
+ hook_ctx: hook_ctx
1067
+ ),
1068
+ response: http_response
1069
+ )
1070
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1071
+ throw obj
1072
+ else
1073
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1074
+ end
1075
+ elsif Utils.match_status_code(http_response.status, ['429'])
1076
+ if Utils.match_content_type(content_type, 'application/json')
1077
+ http_response = @sdk_configuration.hooks.after_success(
1078
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1079
+ hook_ctx: hook_ctx
1080
+ ),
1081
+ response: http_response
1082
+ )
1083
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1084
+ throw obj
1085
+ else
1086
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1087
+ end
1088
+ elsif Utils.match_status_code(http_response.status, ['500'])
1089
+ if Utils.match_content_type(content_type, 'application/json')
1090
+ http_response = @sdk_configuration.hooks.after_success(
1091
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1092
+ hook_ctx: hook_ctx
1093
+ ),
1094
+ response: http_response
1095
+ )
1096
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1097
+ throw obj
1098
+ else
1099
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1100
+ end
1101
+ elsif Utils.match_status_code(http_response.status, ['501'])
1102
+ if Utils.match_content_type(content_type, 'application/json')
1103
+ http_response = @sdk_configuration.hooks.after_success(
1104
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1105
+ hook_ctx: hook_ctx
1106
+ ),
1107
+ response: http_response
1108
+ )
1109
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1110
+ throw obj
1111
+ else
1112
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1113
+ end
1114
+ elsif Utils.match_status_code(http_response.status, ['502'])
1115
+ if Utils.match_content_type(content_type, 'application/json')
1116
+ http_response = @sdk_configuration.hooks.after_success(
1117
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1118
+ hook_ctx: hook_ctx
1119
+ ),
1120
+ response: http_response
1121
+ )
1122
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1123
+ throw obj
1124
+ else
1125
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1126
+ end
1127
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1128
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1129
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1130
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1131
+ else
1132
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1133
+
1134
+ end
1135
+ end
1136
+
1137
+
1138
+ sig { params(request: T.nilable(Models::Operations::MessagingGetMessageRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingGetMessageResponse) }
1139
+ def get_message(request, retries = nil, timeout_ms = nil)
1140
+ # get_message - Get Message
1141
+ url, params = @sdk_configuration.get_server_details
1142
+ base_url = Utils.template_url(url, params)
1143
+ url = Utils.generate_url(
1144
+ Models::Operations::MessagingGetMessageRequest,
1145
+ base_url,
1146
+ '/unified/messaging/messages/{id}',
1147
+ request
1148
+ )
1149
+ headers = Utils.get_headers(request)
1150
+ query_params = Utils.get_query_params(Models::Operations::MessagingGetMessageRequest, request)
1151
+ headers['Accept'] = 'application/json'
1152
+ headers['user-agent'] = @sdk_configuration.user_agent
1153
+ retries ||= @sdk_configuration.retry_config
1154
+ retries ||= Utils::RetryConfig.new(
1155
+ backoff: Utils::BackoffStrategy.new(
1156
+ exponent: 1.5,
1157
+ initial_interval: 500,
1158
+ max_elapsed_time: 3_600_000,
1159
+ max_interval: 60_000
1160
+ ),
1161
+ retry_connection_errors: true,
1162
+ strategy: 'backoff'
1163
+ )
1164
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1165
+ retry_options[:retry_statuses] = [429, 408]
1166
+
1167
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1168
+
1169
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1170
+ timeout ||= @sdk_configuration.timeout
1171
+
1172
+ connection = @sdk_configuration.client.dup
1173
+ connection.request :retry, retry_options
1174
+
1175
+ hook_ctx = SDKHooks::HookContext.new(
1176
+ base_url: base_url,
1177
+ oauth2_scopes: [],
1178
+ operation_id: 'messaging_get_message',
1179
+ security_source: @sdk_configuration.security_source
1180
+ )
1181
+
1182
+ error = T.let(nil, T.nilable(StandardError))
1183
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1184
+
1185
+
1186
+ begin
1187
+ http_response = connection.get(url) do |req|
1188
+ req.headers.merge!(headers)
1189
+ req.options.timeout = timeout unless timeout.nil?
1190
+ req.params = query_params
1191
+ Utils.configure_request_security(req, security)
1192
+
1193
+ @sdk_configuration.hooks.before_request(
1194
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1195
+ hook_ctx: hook_ctx
1196
+ ),
1197
+ request: req
1198
+ )
1199
+ end
1200
+ rescue StandardError => e
1201
+ error = e
1202
+ ensure
1203
+ if http_response.nil? || Utils.error_status?(http_response.status)
1204
+ http_response = @sdk_configuration.hooks.after_error(
1205
+ error: error,
1206
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1207
+ hook_ctx: hook_ctx
1208
+ ),
1209
+ response: http_response
1210
+ )
1211
+ else
1212
+ http_response = @sdk_configuration.hooks.after_success(
1213
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1214
+ hook_ctx: hook_ctx
1215
+ ),
1216
+ response: http_response
1217
+ )
1218
+ end
1219
+
1220
+ if http_response.nil?
1221
+ raise error if !error.nil?
1222
+ raise 'no response'
1223
+ end
1224
+ end
1225
+
1226
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1227
+ if Utils.match_status_code(http_response.status, ['200'])
1228
+ if Utils.match_content_type(content_type, 'application/json')
1229
+ http_response = @sdk_configuration.hooks.after_success(
1230
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1231
+ hook_ctx: hook_ctx
1232
+ ),
1233
+ response: http_response
1234
+ )
1235
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingMessageResult)
1236
+ response = Models::Operations::MessagingGetMessageResponse.new(
1237
+ status_code: http_response.status,
1238
+ content_type: content_type,
1239
+ raw_response: http_response,
1240
+ messaging_message_result: obj
1241
+ )
1242
+
1243
+ return response
1244
+ else
1245
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1246
+ end
1247
+ elsif Utils.match_status_code(http_response.status, ['400'])
1248
+ if Utils.match_content_type(content_type, 'application/json')
1249
+ http_response = @sdk_configuration.hooks.after_success(
1250
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1251
+ hook_ctx: hook_ctx
1252
+ ),
1253
+ response: http_response
1254
+ )
1255
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1256
+ throw obj
1257
+ else
1258
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1259
+ end
1260
+ elsif Utils.match_status_code(http_response.status, ['401'])
1261
+ if Utils.match_content_type(content_type, 'application/json')
1262
+ http_response = @sdk_configuration.hooks.after_success(
1263
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1264
+ hook_ctx: hook_ctx
1265
+ ),
1266
+ response: http_response
1267
+ )
1268
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1269
+ throw obj
1270
+ else
1271
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1272
+ end
1273
+ elsif Utils.match_status_code(http_response.status, ['403'])
1274
+ if Utils.match_content_type(content_type, 'application/json')
1275
+ http_response = @sdk_configuration.hooks.after_success(
1276
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1277
+ hook_ctx: hook_ctx
1278
+ ),
1279
+ response: http_response
1280
+ )
1281
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1282
+ throw obj
1283
+ else
1284
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1285
+ end
1286
+ elsif Utils.match_status_code(http_response.status, ['404'])
1287
+ if Utils.match_content_type(content_type, 'application/json')
1288
+ http_response = @sdk_configuration.hooks.after_success(
1289
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1290
+ hook_ctx: hook_ctx
1291
+ ),
1292
+ response: http_response
1293
+ )
1294
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1295
+ throw obj
1296
+ else
1297
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1298
+ end
1299
+ elsif Utils.match_status_code(http_response.status, ['408'])
1300
+ if Utils.match_content_type(content_type, 'application/json')
1301
+ http_response = @sdk_configuration.hooks.after_success(
1302
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1303
+ hook_ctx: hook_ctx
1304
+ ),
1305
+ response: http_response
1306
+ )
1307
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1308
+ throw obj
1309
+ else
1310
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1311
+ end
1312
+ elsif Utils.match_status_code(http_response.status, ['409'])
1313
+ if Utils.match_content_type(content_type, 'application/json')
1314
+ http_response = @sdk_configuration.hooks.after_success(
1315
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1316
+ hook_ctx: hook_ctx
1317
+ ),
1318
+ response: http_response
1319
+ )
1320
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1321
+ throw obj
1322
+ else
1323
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1324
+ end
1325
+ elsif Utils.match_status_code(http_response.status, ['412'])
1326
+ if Utils.match_content_type(content_type, 'application/json')
1327
+ http_response = @sdk_configuration.hooks.after_success(
1328
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1329
+ hook_ctx: hook_ctx
1330
+ ),
1331
+ response: http_response
1332
+ )
1333
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1334
+ throw obj
1335
+ else
1336
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1337
+ end
1338
+ elsif Utils.match_status_code(http_response.status, ['422'])
1339
+ if Utils.match_content_type(content_type, 'application/json')
1340
+ http_response = @sdk_configuration.hooks.after_success(
1341
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1342
+ hook_ctx: hook_ctx
1343
+ ),
1344
+ response: http_response
1345
+ )
1346
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1347
+ throw obj
1348
+ else
1349
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1350
+ end
1351
+ elsif Utils.match_status_code(http_response.status, ['429'])
1352
+ if Utils.match_content_type(content_type, 'application/json')
1353
+ http_response = @sdk_configuration.hooks.after_success(
1354
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1355
+ hook_ctx: hook_ctx
1356
+ ),
1357
+ response: http_response
1358
+ )
1359
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1360
+ throw obj
1361
+ else
1362
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1363
+ end
1364
+ elsif Utils.match_status_code(http_response.status, ['500'])
1365
+ if Utils.match_content_type(content_type, 'application/json')
1366
+ http_response = @sdk_configuration.hooks.after_success(
1367
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1368
+ hook_ctx: hook_ctx
1369
+ ),
1370
+ response: http_response
1371
+ )
1372
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1373
+ throw obj
1374
+ else
1375
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1376
+ end
1377
+ elsif Utils.match_status_code(http_response.status, ['501'])
1378
+ if Utils.match_content_type(content_type, 'application/json')
1379
+ http_response = @sdk_configuration.hooks.after_success(
1380
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1381
+ hook_ctx: hook_ctx
1382
+ ),
1383
+ response: http_response
1384
+ )
1385
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1386
+ throw obj
1387
+ else
1388
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1389
+ end
1390
+ elsif Utils.match_status_code(http_response.status, ['502'])
1391
+ if Utils.match_content_type(content_type, 'application/json')
1392
+ http_response = @sdk_configuration.hooks.after_success(
1393
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1394
+ hook_ctx: hook_ctx
1395
+ ),
1396
+ response: http_response
1397
+ )
1398
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1399
+ throw obj
1400
+ else
1401
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1402
+ end
1403
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1404
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1405
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1406
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1407
+ else
1408
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1409
+
1410
+ end
1411
+ end
1412
+
1413
+
1414
+ sig { params(request: T.nilable(Models::Operations::MessagingGetUserRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingGetUserResponse) }
1415
+ def get_user(request, retries = nil, timeout_ms = nil)
1416
+ # get_user - Get User
1417
+ url, params = @sdk_configuration.get_server_details
1418
+ base_url = Utils.template_url(url, params)
1419
+ url = Utils.generate_url(
1420
+ Models::Operations::MessagingGetUserRequest,
1421
+ base_url,
1422
+ '/unified/messaging/users/{id}',
1423
+ request
1424
+ )
1425
+ headers = Utils.get_headers(request)
1426
+ query_params = Utils.get_query_params(Models::Operations::MessagingGetUserRequest, request)
1427
+ headers['Accept'] = 'application/json'
1428
+ headers['user-agent'] = @sdk_configuration.user_agent
1429
+ retries ||= @sdk_configuration.retry_config
1430
+ retries ||= Utils::RetryConfig.new(
1431
+ backoff: Utils::BackoffStrategy.new(
1432
+ exponent: 1.5,
1433
+ initial_interval: 500,
1434
+ max_elapsed_time: 3_600_000,
1435
+ max_interval: 60_000
1436
+ ),
1437
+ retry_connection_errors: true,
1438
+ strategy: 'backoff'
1439
+ )
1440
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1441
+ retry_options[:retry_statuses] = [429, 408]
1442
+
1443
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1444
+
1445
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1446
+ timeout ||= @sdk_configuration.timeout
1447
+
1448
+ connection = @sdk_configuration.client.dup
1449
+ connection.request :retry, retry_options
1450
+
1451
+ hook_ctx = SDKHooks::HookContext.new(
1452
+ base_url: base_url,
1453
+ oauth2_scopes: [],
1454
+ operation_id: 'messaging_get_user',
1455
+ security_source: @sdk_configuration.security_source
1456
+ )
1457
+
1458
+ error = T.let(nil, T.nilable(StandardError))
1459
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1460
+
1461
+
1462
+ begin
1463
+ http_response = connection.get(url) do |req|
1464
+ req.headers.merge!(headers)
1465
+ req.options.timeout = timeout unless timeout.nil?
1466
+ req.params = query_params
1467
+ Utils.configure_request_security(req, security)
1468
+
1469
+ @sdk_configuration.hooks.before_request(
1470
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1471
+ hook_ctx: hook_ctx
1472
+ ),
1473
+ request: req
1474
+ )
1475
+ end
1476
+ rescue StandardError => e
1477
+ error = e
1478
+ ensure
1479
+ if http_response.nil? || Utils.error_status?(http_response.status)
1480
+ http_response = @sdk_configuration.hooks.after_error(
1481
+ error: error,
1482
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1483
+ hook_ctx: hook_ctx
1484
+ ),
1485
+ response: http_response
1486
+ )
1487
+ else
1488
+ http_response = @sdk_configuration.hooks.after_success(
1489
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1490
+ hook_ctx: hook_ctx
1491
+ ),
1492
+ response: http_response
1493
+ )
1494
+ end
1495
+
1496
+ if http_response.nil?
1497
+ raise error if !error.nil?
1498
+ raise 'no response'
1499
+ end
1500
+ end
1501
+
1502
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1503
+ if Utils.match_status_code(http_response.status, ['200'])
1504
+ if Utils.match_content_type(content_type, 'application/json')
1505
+ http_response = @sdk_configuration.hooks.after_success(
1506
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1507
+ hook_ctx: hook_ctx
1508
+ ),
1509
+ response: http_response
1510
+ )
1511
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingUserResult)
1512
+ response = Models::Operations::MessagingGetUserResponse.new(
1513
+ status_code: http_response.status,
1514
+ content_type: content_type,
1515
+ raw_response: http_response,
1516
+ messaging_user_result: obj
1517
+ )
1518
+
1519
+ return response
1520
+ else
1521
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1522
+ end
1523
+ elsif Utils.match_status_code(http_response.status, ['400'])
1524
+ if Utils.match_content_type(content_type, 'application/json')
1525
+ http_response = @sdk_configuration.hooks.after_success(
1526
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1527
+ hook_ctx: hook_ctx
1528
+ ),
1529
+ response: http_response
1530
+ )
1531
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1532
+ throw obj
1533
+ else
1534
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1535
+ end
1536
+ elsif Utils.match_status_code(http_response.status, ['401'])
1537
+ if Utils.match_content_type(content_type, 'application/json')
1538
+ http_response = @sdk_configuration.hooks.after_success(
1539
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1540
+ hook_ctx: hook_ctx
1541
+ ),
1542
+ response: http_response
1543
+ )
1544
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1545
+ throw obj
1546
+ else
1547
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1548
+ end
1549
+ elsif Utils.match_status_code(http_response.status, ['403'])
1550
+ if Utils.match_content_type(content_type, 'application/json')
1551
+ http_response = @sdk_configuration.hooks.after_success(
1552
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1553
+ hook_ctx: hook_ctx
1554
+ ),
1555
+ response: http_response
1556
+ )
1557
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1558
+ throw obj
1559
+ else
1560
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1561
+ end
1562
+ elsif Utils.match_status_code(http_response.status, ['404'])
1563
+ if Utils.match_content_type(content_type, 'application/json')
1564
+ http_response = @sdk_configuration.hooks.after_success(
1565
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1566
+ hook_ctx: hook_ctx
1567
+ ),
1568
+ response: http_response
1569
+ )
1570
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1571
+ throw obj
1572
+ else
1573
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1574
+ end
1575
+ elsif Utils.match_status_code(http_response.status, ['408'])
1576
+ if Utils.match_content_type(content_type, 'application/json')
1577
+ http_response = @sdk_configuration.hooks.after_success(
1578
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1579
+ hook_ctx: hook_ctx
1580
+ ),
1581
+ response: http_response
1582
+ )
1583
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1584
+ throw obj
1585
+ else
1586
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1587
+ end
1588
+ elsif Utils.match_status_code(http_response.status, ['409'])
1589
+ if Utils.match_content_type(content_type, 'application/json')
1590
+ http_response = @sdk_configuration.hooks.after_success(
1591
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1592
+ hook_ctx: hook_ctx
1593
+ ),
1594
+ response: http_response
1595
+ )
1596
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1597
+ throw obj
1598
+ else
1599
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1600
+ end
1601
+ elsif Utils.match_status_code(http_response.status, ['412'])
1602
+ if Utils.match_content_type(content_type, 'application/json')
1603
+ http_response = @sdk_configuration.hooks.after_success(
1604
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1605
+ hook_ctx: hook_ctx
1606
+ ),
1607
+ response: http_response
1608
+ )
1609
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1610
+ throw obj
1611
+ else
1612
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1613
+ end
1614
+ elsif Utils.match_status_code(http_response.status, ['422'])
1615
+ if Utils.match_content_type(content_type, 'application/json')
1616
+ http_response = @sdk_configuration.hooks.after_success(
1617
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1618
+ hook_ctx: hook_ctx
1619
+ ),
1620
+ response: http_response
1621
+ )
1622
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1623
+ throw obj
1624
+ else
1625
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1626
+ end
1627
+ elsif Utils.match_status_code(http_response.status, ['429'])
1628
+ if Utils.match_content_type(content_type, 'application/json')
1629
+ http_response = @sdk_configuration.hooks.after_success(
1630
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1631
+ hook_ctx: hook_ctx
1632
+ ),
1633
+ response: http_response
1634
+ )
1635
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1636
+ throw obj
1637
+ else
1638
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1639
+ end
1640
+ elsif Utils.match_status_code(http_response.status, ['500'])
1641
+ if Utils.match_content_type(content_type, 'application/json')
1642
+ http_response = @sdk_configuration.hooks.after_success(
1643
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1644
+ hook_ctx: hook_ctx
1645
+ ),
1646
+ response: http_response
1647
+ )
1648
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1649
+ throw obj
1650
+ else
1651
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1652
+ end
1653
+ elsif Utils.match_status_code(http_response.status, ['501'])
1654
+ if Utils.match_content_type(content_type, 'application/json')
1655
+ http_response = @sdk_configuration.hooks.after_success(
1656
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1657
+ hook_ctx: hook_ctx
1658
+ ),
1659
+ response: http_response
1660
+ )
1661
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1662
+ throw obj
1663
+ else
1664
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1665
+ end
1666
+ elsif Utils.match_status_code(http_response.status, ['502'])
1667
+ if Utils.match_content_type(content_type, 'application/json')
1668
+ http_response = @sdk_configuration.hooks.after_success(
1669
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1670
+ hook_ctx: hook_ctx
1671
+ ),
1672
+ response: http_response
1673
+ )
1674
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1675
+ throw obj
1676
+ else
1677
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1678
+ end
1679
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1680
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1681
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1682
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1683
+ else
1684
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1685
+
1686
+ end
1687
+ end
1688
+
1689
+
1690
+ sig { params(request: T.nilable(Models::Operations::MessagingListAttachmentsRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingListAttachmentsResponse) }
1691
+ def list_attachments(request, retries = nil, timeout_ms = nil)
1692
+ # list_attachments - List Attachments
1693
+ url, params = @sdk_configuration.get_server_details
1694
+ base_url = Utils.template_url(url, params)
1695
+ url = Utils.generate_url(
1696
+ Models::Operations::MessagingListAttachmentsRequest,
1697
+ base_url,
1698
+ '/unified/messaging/messages/{id}/attachments',
1699
+ request
1700
+ )
1701
+ headers = Utils.get_headers(request)
1702
+ query_params = Utils.get_query_params(Models::Operations::MessagingListAttachmentsRequest, request)
1703
+ headers['Accept'] = 'application/json'
1704
+ headers['user-agent'] = @sdk_configuration.user_agent
1705
+ retries ||= @sdk_configuration.retry_config
1706
+ retries ||= Utils::RetryConfig.new(
1707
+ backoff: Utils::BackoffStrategy.new(
1708
+ exponent: 1.5,
1709
+ initial_interval: 500,
1710
+ max_elapsed_time: 3_600_000,
1711
+ max_interval: 60_000
1712
+ ),
1713
+ retry_connection_errors: true,
1714
+ strategy: 'backoff'
1715
+ )
1716
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1717
+ retry_options[:retry_statuses] = [429, 408]
1718
+
1719
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1720
+
1721
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1722
+ timeout ||= @sdk_configuration.timeout
1723
+
1724
+ connection = @sdk_configuration.client.dup
1725
+ connection.request :retry, retry_options
1726
+
1727
+ hook_ctx = SDKHooks::HookContext.new(
1728
+ base_url: base_url,
1729
+ oauth2_scopes: [],
1730
+ operation_id: 'messaging_list_attachments',
1731
+ security_source: @sdk_configuration.security_source
1732
+ )
1733
+
1734
+ error = T.let(nil, T.nilable(StandardError))
1735
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1736
+
1737
+
1738
+ begin
1739
+ http_response = connection.get(url) do |req|
1740
+ req.headers.merge!(headers)
1741
+ req.options.timeout = timeout unless timeout.nil?
1742
+ req.params = query_params
1743
+ Utils.configure_request_security(req, security)
1744
+
1745
+ @sdk_configuration.hooks.before_request(
1746
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1747
+ hook_ctx: hook_ctx
1748
+ ),
1749
+ request: req
1750
+ )
1751
+ end
1752
+ rescue StandardError => e
1753
+ error = e
1754
+ ensure
1755
+ if http_response.nil? || Utils.error_status?(http_response.status)
1756
+ http_response = @sdk_configuration.hooks.after_error(
1757
+ error: error,
1758
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1759
+ hook_ctx: hook_ctx
1760
+ ),
1761
+ response: http_response
1762
+ )
1763
+ else
1764
+ http_response = @sdk_configuration.hooks.after_success(
1765
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1766
+ hook_ctx: hook_ctx
1767
+ ),
1768
+ response: http_response
1769
+ )
1770
+ end
1771
+
1772
+ if http_response.nil?
1773
+ raise error if !error.nil?
1774
+ raise 'no response'
1775
+ end
1776
+ end
1777
+
1778
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1779
+ if Utils.match_status_code(http_response.status, ['200'])
1780
+ if Utils.match_content_type(content_type, 'application/json')
1781
+ http_response = @sdk_configuration.hooks.after_success(
1782
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1783
+ hook_ctx: hook_ctx
1784
+ ),
1785
+ response: http_response
1786
+ )
1787
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingAttachmentsPaginated)
1788
+ response = Models::Operations::MessagingListAttachmentsResponse.new(
1789
+ status_code: http_response.status,
1790
+ content_type: content_type,
1791
+ raw_response: http_response,
1792
+ messaging_attachments_paginated: obj
1793
+ )
1794
+
1795
+ return response
1796
+ else
1797
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1798
+ end
1799
+ elsif Utils.match_status_code(http_response.status, ['400'])
1800
+ if Utils.match_content_type(content_type, 'application/json')
1801
+ http_response = @sdk_configuration.hooks.after_success(
1802
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1803
+ hook_ctx: hook_ctx
1804
+ ),
1805
+ response: http_response
1806
+ )
1807
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1808
+ throw obj
1809
+ else
1810
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1811
+ end
1812
+ elsif Utils.match_status_code(http_response.status, ['401'])
1813
+ if Utils.match_content_type(content_type, 'application/json')
1814
+ http_response = @sdk_configuration.hooks.after_success(
1815
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1816
+ hook_ctx: hook_ctx
1817
+ ),
1818
+ response: http_response
1819
+ )
1820
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1821
+ throw obj
1822
+ else
1823
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1824
+ end
1825
+ elsif Utils.match_status_code(http_response.status, ['403'])
1826
+ if Utils.match_content_type(content_type, 'application/json')
1827
+ http_response = @sdk_configuration.hooks.after_success(
1828
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1829
+ hook_ctx: hook_ctx
1830
+ ),
1831
+ response: http_response
1832
+ )
1833
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1834
+ throw obj
1835
+ else
1836
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1837
+ end
1838
+ elsif Utils.match_status_code(http_response.status, ['404'])
1839
+ if Utils.match_content_type(content_type, 'application/json')
1840
+ http_response = @sdk_configuration.hooks.after_success(
1841
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1842
+ hook_ctx: hook_ctx
1843
+ ),
1844
+ response: http_response
1845
+ )
1846
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1847
+ throw obj
1848
+ else
1849
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1850
+ end
1851
+ elsif Utils.match_status_code(http_response.status, ['408'])
1852
+ if Utils.match_content_type(content_type, 'application/json')
1853
+ http_response = @sdk_configuration.hooks.after_success(
1854
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1855
+ hook_ctx: hook_ctx
1856
+ ),
1857
+ response: http_response
1858
+ )
1859
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1860
+ throw obj
1861
+ else
1862
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1863
+ end
1864
+ elsif Utils.match_status_code(http_response.status, ['409'])
1865
+ if Utils.match_content_type(content_type, 'application/json')
1866
+ http_response = @sdk_configuration.hooks.after_success(
1867
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1868
+ hook_ctx: hook_ctx
1869
+ ),
1870
+ response: http_response
1871
+ )
1872
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1873
+ throw obj
1874
+ else
1875
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1876
+ end
1877
+ elsif Utils.match_status_code(http_response.status, ['412'])
1878
+ if Utils.match_content_type(content_type, 'application/json')
1879
+ http_response = @sdk_configuration.hooks.after_success(
1880
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1881
+ hook_ctx: hook_ctx
1882
+ ),
1883
+ response: http_response
1884
+ )
1885
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1886
+ throw obj
1887
+ else
1888
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1889
+ end
1890
+ elsif Utils.match_status_code(http_response.status, ['422'])
1891
+ if Utils.match_content_type(content_type, 'application/json')
1892
+ http_response = @sdk_configuration.hooks.after_success(
1893
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1894
+ hook_ctx: hook_ctx
1895
+ ),
1896
+ response: http_response
1897
+ )
1898
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1899
+ throw obj
1900
+ else
1901
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1902
+ end
1903
+ elsif Utils.match_status_code(http_response.status, ['429'])
1904
+ if Utils.match_content_type(content_type, 'application/json')
1905
+ http_response = @sdk_configuration.hooks.after_success(
1906
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1907
+ hook_ctx: hook_ctx
1908
+ ),
1909
+ response: http_response
1910
+ )
1911
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1912
+ throw obj
1913
+ else
1914
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1915
+ end
1916
+ elsif Utils.match_status_code(http_response.status, ['500'])
1917
+ if Utils.match_content_type(content_type, 'application/json')
1918
+ http_response = @sdk_configuration.hooks.after_success(
1919
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1920
+ hook_ctx: hook_ctx
1921
+ ),
1922
+ response: http_response
1923
+ )
1924
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1925
+ throw obj
1926
+ else
1927
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1928
+ end
1929
+ elsif Utils.match_status_code(http_response.status, ['501'])
1930
+ if Utils.match_content_type(content_type, 'application/json')
1931
+ http_response = @sdk_configuration.hooks.after_success(
1932
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1933
+ hook_ctx: hook_ctx
1934
+ ),
1935
+ response: http_response
1936
+ )
1937
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1938
+ throw obj
1939
+ else
1940
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1941
+ end
1942
+ elsif Utils.match_status_code(http_response.status, ['502'])
1943
+ if Utils.match_content_type(content_type, 'application/json')
1944
+ http_response = @sdk_configuration.hooks.after_success(
1945
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1946
+ hook_ctx: hook_ctx
1947
+ ),
1948
+ response: http_response
1949
+ )
1950
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1951
+ throw obj
1952
+ else
1953
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1954
+ end
1955
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1956
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1957
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1958
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1959
+ else
1960
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1961
+
1962
+ end
1963
+ end
1964
+
1965
+
1966
+ sig { params(request: T.nilable(Models::Operations::MessagingListConversationMessagesRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingListConversationMessagesResponse) }
1967
+ def list_conversation_messages(request, retries = nil, timeout_ms = nil)
1968
+ # list_conversation_messages - List Conversation Messages
1969
+ url, params = @sdk_configuration.get_server_details
1970
+ base_url = Utils.template_url(url, params)
1971
+ url = Utils.generate_url(
1972
+ Models::Operations::MessagingListConversationMessagesRequest,
1973
+ base_url,
1974
+ '/unified/messaging/conversations/{id}/messages',
1975
+ request
1976
+ )
1977
+ headers = Utils.get_headers(request)
1978
+ query_params = Utils.get_query_params(Models::Operations::MessagingListConversationMessagesRequest, request)
1979
+ headers['Accept'] = 'application/json'
1980
+ headers['user-agent'] = @sdk_configuration.user_agent
1981
+ retries ||= @sdk_configuration.retry_config
1982
+ retries ||= Utils::RetryConfig.new(
1983
+ backoff: Utils::BackoffStrategy.new(
1984
+ exponent: 1.5,
1985
+ initial_interval: 500,
1986
+ max_elapsed_time: 3_600_000,
1987
+ max_interval: 60_000
1988
+ ),
1989
+ retry_connection_errors: true,
1990
+ strategy: 'backoff'
1991
+ )
1992
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1993
+ retry_options[:retry_statuses] = [429, 408]
1994
+
1995
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1996
+
1997
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1998
+ timeout ||= @sdk_configuration.timeout
1999
+
2000
+ connection = @sdk_configuration.client.dup
2001
+ connection.request :retry, retry_options
2002
+
2003
+ hook_ctx = SDKHooks::HookContext.new(
2004
+ base_url: base_url,
2005
+ oauth2_scopes: [],
2006
+ operation_id: 'messaging_list_conversation_messages',
2007
+ security_source: @sdk_configuration.security_source
2008
+ )
2009
+
2010
+ error = T.let(nil, T.nilable(StandardError))
2011
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2012
+
2013
+
2014
+ begin
2015
+ http_response = connection.get(url) do |req|
2016
+ req.headers.merge!(headers)
2017
+ req.options.timeout = timeout unless timeout.nil?
2018
+ req.params = query_params
2019
+ Utils.configure_request_security(req, security)
2020
+
2021
+ @sdk_configuration.hooks.before_request(
2022
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2023
+ hook_ctx: hook_ctx
2024
+ ),
2025
+ request: req
2026
+ )
2027
+ end
2028
+ rescue StandardError => e
2029
+ error = e
2030
+ ensure
2031
+ if http_response.nil? || Utils.error_status?(http_response.status)
2032
+ http_response = @sdk_configuration.hooks.after_error(
2033
+ error: error,
2034
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2035
+ hook_ctx: hook_ctx
2036
+ ),
2037
+ response: http_response
2038
+ )
2039
+ else
2040
+ http_response = @sdk_configuration.hooks.after_success(
2041
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2042
+ hook_ctx: hook_ctx
2043
+ ),
2044
+ response: http_response
2045
+ )
2046
+ end
2047
+
2048
+ if http_response.nil?
2049
+ raise error if !error.nil?
2050
+ raise 'no response'
2051
+ end
2052
+ end
2053
+
2054
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2055
+ if Utils.match_status_code(http_response.status, ['200'])
2056
+ if Utils.match_content_type(content_type, 'application/json')
2057
+ http_response = @sdk_configuration.hooks.after_success(
2058
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2059
+ hook_ctx: hook_ctx
2060
+ ),
2061
+ response: http_response
2062
+ )
2063
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingMessagesPaginated)
2064
+ response = Models::Operations::MessagingListConversationMessagesResponse.new(
2065
+ status_code: http_response.status,
2066
+ content_type: content_type,
2067
+ raw_response: http_response,
2068
+ messaging_messages_paginated: obj
2069
+ )
2070
+
2071
+ return response
2072
+ else
2073
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2074
+ end
2075
+ elsif Utils.match_status_code(http_response.status, ['400'])
2076
+ if Utils.match_content_type(content_type, 'application/json')
2077
+ http_response = @sdk_configuration.hooks.after_success(
2078
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2079
+ hook_ctx: hook_ctx
2080
+ ),
2081
+ response: http_response
2082
+ )
2083
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
2084
+ throw obj
2085
+ else
2086
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2087
+ end
2088
+ elsif Utils.match_status_code(http_response.status, ['401'])
2089
+ if Utils.match_content_type(content_type, 'application/json')
2090
+ http_response = @sdk_configuration.hooks.after_success(
2091
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2092
+ hook_ctx: hook_ctx
2093
+ ),
2094
+ response: http_response
2095
+ )
2096
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
2097
+ throw obj
2098
+ else
2099
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2100
+ end
2101
+ elsif Utils.match_status_code(http_response.status, ['403'])
2102
+ if Utils.match_content_type(content_type, 'application/json')
2103
+ http_response = @sdk_configuration.hooks.after_success(
2104
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2105
+ hook_ctx: hook_ctx
2106
+ ),
2107
+ response: http_response
2108
+ )
2109
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
2110
+ throw obj
2111
+ else
2112
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2113
+ end
2114
+ elsif Utils.match_status_code(http_response.status, ['404'])
2115
+ if Utils.match_content_type(content_type, 'application/json')
2116
+ http_response = @sdk_configuration.hooks.after_success(
2117
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2118
+ hook_ctx: hook_ctx
2119
+ ),
2120
+ response: http_response
2121
+ )
2122
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
2123
+ throw obj
2124
+ else
2125
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2126
+ end
2127
+ elsif Utils.match_status_code(http_response.status, ['408'])
2128
+ if Utils.match_content_type(content_type, 'application/json')
2129
+ http_response = @sdk_configuration.hooks.after_success(
2130
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2131
+ hook_ctx: hook_ctx
2132
+ ),
2133
+ response: http_response
2134
+ )
2135
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
2136
+ throw obj
2137
+ else
2138
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2139
+ end
2140
+ elsif Utils.match_status_code(http_response.status, ['409'])
2141
+ if Utils.match_content_type(content_type, 'application/json')
2142
+ http_response = @sdk_configuration.hooks.after_success(
2143
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2144
+ hook_ctx: hook_ctx
2145
+ ),
2146
+ response: http_response
2147
+ )
2148
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
2149
+ throw obj
2150
+ else
2151
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2152
+ end
2153
+ elsif Utils.match_status_code(http_response.status, ['412'])
2154
+ if Utils.match_content_type(content_type, 'application/json')
2155
+ http_response = @sdk_configuration.hooks.after_success(
2156
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2157
+ hook_ctx: hook_ctx
2158
+ ),
2159
+ response: http_response
2160
+ )
2161
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
2162
+ throw obj
2163
+ else
2164
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2165
+ end
2166
+ elsif Utils.match_status_code(http_response.status, ['422'])
2167
+ if Utils.match_content_type(content_type, 'application/json')
2168
+ http_response = @sdk_configuration.hooks.after_success(
2169
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2170
+ hook_ctx: hook_ctx
2171
+ ),
2172
+ response: http_response
2173
+ )
2174
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
2175
+ throw obj
2176
+ else
2177
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2178
+ end
2179
+ elsif Utils.match_status_code(http_response.status, ['429'])
2180
+ if Utils.match_content_type(content_type, 'application/json')
2181
+ http_response = @sdk_configuration.hooks.after_success(
2182
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2183
+ hook_ctx: hook_ctx
2184
+ ),
2185
+ response: http_response
2186
+ )
2187
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
2188
+ throw obj
2189
+ else
2190
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2191
+ end
2192
+ elsif Utils.match_status_code(http_response.status, ['500'])
2193
+ if Utils.match_content_type(content_type, 'application/json')
2194
+ http_response = @sdk_configuration.hooks.after_success(
2195
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2196
+ hook_ctx: hook_ctx
2197
+ ),
2198
+ response: http_response
2199
+ )
2200
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
2201
+ throw obj
2202
+ else
2203
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2204
+ end
2205
+ elsif Utils.match_status_code(http_response.status, ['501'])
2206
+ if Utils.match_content_type(content_type, 'application/json')
2207
+ http_response = @sdk_configuration.hooks.after_success(
2208
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2209
+ hook_ctx: hook_ctx
2210
+ ),
2211
+ response: http_response
2212
+ )
2213
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
2214
+ throw obj
2215
+ else
2216
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2217
+ end
2218
+ elsif Utils.match_status_code(http_response.status, ['502'])
2219
+ if Utils.match_content_type(content_type, 'application/json')
2220
+ http_response = @sdk_configuration.hooks.after_success(
2221
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2222
+ hook_ctx: hook_ctx
2223
+ ),
2224
+ response: http_response
2225
+ )
2226
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
2227
+ throw obj
2228
+ else
2229
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2230
+ end
2231
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2232
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2233
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2234
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2235
+ else
2236
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2237
+
2238
+ end
2239
+ end
2240
+
2241
+
2242
+ sig { params(request: T.nilable(Models::Operations::MessagingListConversationsRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingListConversationsResponse) }
2243
+ def list_conversations(request, retries = nil, timeout_ms = nil)
2244
+ # list_conversations - List Conversations
2245
+ url, params = @sdk_configuration.get_server_details
2246
+ base_url = Utils.template_url(url, params)
2247
+ url = "#{base_url}/unified/messaging/conversations"
2248
+ headers = Utils.get_headers(request)
2249
+ query_params = Utils.get_query_params(Models::Operations::MessagingListConversationsRequest, request)
2250
+ headers['Accept'] = 'application/json'
2251
+ headers['user-agent'] = @sdk_configuration.user_agent
2252
+ retries ||= @sdk_configuration.retry_config
2253
+ retries ||= Utils::RetryConfig.new(
2254
+ backoff: Utils::BackoffStrategy.new(
2255
+ exponent: 1.5,
2256
+ initial_interval: 500,
2257
+ max_elapsed_time: 3_600_000,
2258
+ max_interval: 60_000
2259
+ ),
2260
+ retry_connection_errors: true,
2261
+ strategy: 'backoff'
2262
+ )
2263
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2264
+ retry_options[:retry_statuses] = [429, 408]
2265
+
2266
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
2267
+
2268
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2269
+ timeout ||= @sdk_configuration.timeout
2270
+
2271
+ connection = @sdk_configuration.client.dup
2272
+ connection.request :retry, retry_options
2273
+
2274
+ hook_ctx = SDKHooks::HookContext.new(
2275
+ base_url: base_url,
2276
+ oauth2_scopes: [],
2277
+ operation_id: 'messaging_list_conversations',
2278
+ security_source: @sdk_configuration.security_source
2279
+ )
2280
+
2281
+ error = T.let(nil, T.nilable(StandardError))
2282
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2283
+
2284
+
2285
+ begin
2286
+ http_response = connection.get(url) do |req|
2287
+ req.headers.merge!(headers)
2288
+ req.options.timeout = timeout unless timeout.nil?
2289
+ req.params = query_params
2290
+ Utils.configure_request_security(req, security)
2291
+
2292
+ @sdk_configuration.hooks.before_request(
2293
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2294
+ hook_ctx: hook_ctx
2295
+ ),
2296
+ request: req
2297
+ )
2298
+ end
2299
+ rescue StandardError => e
2300
+ error = e
2301
+ ensure
2302
+ if http_response.nil? || Utils.error_status?(http_response.status)
2303
+ http_response = @sdk_configuration.hooks.after_error(
2304
+ error: error,
2305
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2306
+ hook_ctx: hook_ctx
2307
+ ),
2308
+ response: http_response
2309
+ )
2310
+ else
2311
+ http_response = @sdk_configuration.hooks.after_success(
2312
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2313
+ hook_ctx: hook_ctx
2314
+ ),
2315
+ response: http_response
2316
+ )
2317
+ end
2318
+
2319
+ if http_response.nil?
2320
+ raise error if !error.nil?
2321
+ raise 'no response'
2322
+ end
2323
+ end
2324
+
2325
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2326
+ if Utils.match_status_code(http_response.status, ['200'])
2327
+ if Utils.match_content_type(content_type, 'application/json')
2328
+ http_response = @sdk_configuration.hooks.after_success(
2329
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2330
+ hook_ctx: hook_ctx
2331
+ ),
2332
+ response: http_response
2333
+ )
2334
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingConversationsPaginated)
2335
+ response = Models::Operations::MessagingListConversationsResponse.new(
2336
+ status_code: http_response.status,
2337
+ content_type: content_type,
2338
+ raw_response: http_response,
2339
+ messaging_conversations_paginated: obj
2340
+ )
2341
+
2342
+ return response
2343
+ else
2344
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2345
+ end
2346
+ elsif Utils.match_status_code(http_response.status, ['400'])
2347
+ if Utils.match_content_type(content_type, 'application/json')
2348
+ http_response = @sdk_configuration.hooks.after_success(
2349
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2350
+ hook_ctx: hook_ctx
2351
+ ),
2352
+ response: http_response
2353
+ )
2354
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
2355
+ throw obj
2356
+ else
2357
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2358
+ end
2359
+ elsif Utils.match_status_code(http_response.status, ['401'])
2360
+ if Utils.match_content_type(content_type, 'application/json')
2361
+ http_response = @sdk_configuration.hooks.after_success(
2362
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2363
+ hook_ctx: hook_ctx
2364
+ ),
2365
+ response: http_response
2366
+ )
2367
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
2368
+ throw obj
2369
+ else
2370
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2371
+ end
2372
+ elsif Utils.match_status_code(http_response.status, ['403'])
2373
+ if Utils.match_content_type(content_type, 'application/json')
2374
+ http_response = @sdk_configuration.hooks.after_success(
2375
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2376
+ hook_ctx: hook_ctx
2377
+ ),
2378
+ response: http_response
2379
+ )
2380
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
2381
+ throw obj
2382
+ else
2383
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2384
+ end
2385
+ elsif Utils.match_status_code(http_response.status, ['404'])
2386
+ if Utils.match_content_type(content_type, 'application/json')
2387
+ http_response = @sdk_configuration.hooks.after_success(
2388
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2389
+ hook_ctx: hook_ctx
2390
+ ),
2391
+ response: http_response
2392
+ )
2393
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
2394
+ throw obj
2395
+ else
2396
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2397
+ end
2398
+ elsif Utils.match_status_code(http_response.status, ['408'])
2399
+ if Utils.match_content_type(content_type, 'application/json')
2400
+ http_response = @sdk_configuration.hooks.after_success(
2401
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2402
+ hook_ctx: hook_ctx
2403
+ ),
2404
+ response: http_response
2405
+ )
2406
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
2407
+ throw obj
2408
+ else
2409
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2410
+ end
2411
+ elsif Utils.match_status_code(http_response.status, ['409'])
2412
+ if Utils.match_content_type(content_type, 'application/json')
2413
+ http_response = @sdk_configuration.hooks.after_success(
2414
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2415
+ hook_ctx: hook_ctx
2416
+ ),
2417
+ response: http_response
2418
+ )
2419
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
2420
+ throw obj
2421
+ else
2422
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2423
+ end
2424
+ elsif Utils.match_status_code(http_response.status, ['412'])
2425
+ if Utils.match_content_type(content_type, 'application/json')
2426
+ http_response = @sdk_configuration.hooks.after_success(
2427
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2428
+ hook_ctx: hook_ctx
2429
+ ),
2430
+ response: http_response
2431
+ )
2432
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
2433
+ throw obj
2434
+ else
2435
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2436
+ end
2437
+ elsif Utils.match_status_code(http_response.status, ['422'])
2438
+ if Utils.match_content_type(content_type, 'application/json')
2439
+ http_response = @sdk_configuration.hooks.after_success(
2440
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2441
+ hook_ctx: hook_ctx
2442
+ ),
2443
+ response: http_response
2444
+ )
2445
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
2446
+ throw obj
2447
+ else
2448
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2449
+ end
2450
+ elsif Utils.match_status_code(http_response.status, ['429'])
2451
+ if Utils.match_content_type(content_type, 'application/json')
2452
+ http_response = @sdk_configuration.hooks.after_success(
2453
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2454
+ hook_ctx: hook_ctx
2455
+ ),
2456
+ response: http_response
2457
+ )
2458
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
2459
+ throw obj
2460
+ else
2461
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2462
+ end
2463
+ elsif Utils.match_status_code(http_response.status, ['500'])
2464
+ if Utils.match_content_type(content_type, 'application/json')
2465
+ http_response = @sdk_configuration.hooks.after_success(
2466
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2467
+ hook_ctx: hook_ctx
2468
+ ),
2469
+ response: http_response
2470
+ )
2471
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
2472
+ throw obj
2473
+ else
2474
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2475
+ end
2476
+ elsif Utils.match_status_code(http_response.status, ['501'])
2477
+ if Utils.match_content_type(content_type, 'application/json')
2478
+ http_response = @sdk_configuration.hooks.after_success(
2479
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2480
+ hook_ctx: hook_ctx
2481
+ ),
2482
+ response: http_response
2483
+ )
2484
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
2485
+ throw obj
2486
+ else
2487
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2488
+ end
2489
+ elsif Utils.match_status_code(http_response.status, ['502'])
2490
+ if Utils.match_content_type(content_type, 'application/json')
2491
+ http_response = @sdk_configuration.hooks.after_success(
2492
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2493
+ hook_ctx: hook_ctx
2494
+ ),
2495
+ response: http_response
2496
+ )
2497
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
2498
+ throw obj
2499
+ else
2500
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2501
+ end
2502
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2503
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2504
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2505
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2506
+ else
2507
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2508
+
2509
+ end
2510
+ end
2511
+
2512
+
2513
+ sig { params(request: T.nilable(Models::Operations::MessagingListUsersRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingListUsersResponse) }
2514
+ def list_users(request, retries = nil, timeout_ms = nil)
2515
+ # list_users - List Users
2516
+ url, params = @sdk_configuration.get_server_details
2517
+ base_url = Utils.template_url(url, params)
2518
+ url = "#{base_url}/unified/messaging/users"
2519
+ headers = Utils.get_headers(request)
2520
+ query_params = Utils.get_query_params(Models::Operations::MessagingListUsersRequest, request)
2521
+ headers['Accept'] = 'application/json'
2522
+ headers['user-agent'] = @sdk_configuration.user_agent
2523
+ retries ||= @sdk_configuration.retry_config
2524
+ retries ||= Utils::RetryConfig.new(
2525
+ backoff: Utils::BackoffStrategy.new(
2526
+ exponent: 1.5,
2527
+ initial_interval: 500,
2528
+ max_elapsed_time: 3_600_000,
2529
+ max_interval: 60_000
2530
+ ),
2531
+ retry_connection_errors: true,
2532
+ strategy: 'backoff'
2533
+ )
2534
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2535
+ retry_options[:retry_statuses] = [429, 408]
2536
+
2537
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
2538
+
2539
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2540
+ timeout ||= @sdk_configuration.timeout
2541
+
2542
+ connection = @sdk_configuration.client.dup
2543
+ connection.request :retry, retry_options
2544
+
2545
+ hook_ctx = SDKHooks::HookContext.new(
2546
+ base_url: base_url,
2547
+ oauth2_scopes: [],
2548
+ operation_id: 'messaging_list_users',
2549
+ security_source: @sdk_configuration.security_source
2550
+ )
2551
+
2552
+ error = T.let(nil, T.nilable(StandardError))
2553
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2554
+
2555
+
2556
+ begin
2557
+ http_response = connection.get(url) do |req|
2558
+ req.headers.merge!(headers)
2559
+ req.options.timeout = timeout unless timeout.nil?
2560
+ req.params = query_params
2561
+ Utils.configure_request_security(req, security)
2562
+
2563
+ @sdk_configuration.hooks.before_request(
2564
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2565
+ hook_ctx: hook_ctx
2566
+ ),
2567
+ request: req
2568
+ )
2569
+ end
2570
+ rescue StandardError => e
2571
+ error = e
2572
+ ensure
2573
+ if http_response.nil? || Utils.error_status?(http_response.status)
2574
+ http_response = @sdk_configuration.hooks.after_error(
2575
+ error: error,
2576
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2577
+ hook_ctx: hook_ctx
2578
+ ),
2579
+ response: http_response
2580
+ )
2581
+ else
2582
+ http_response = @sdk_configuration.hooks.after_success(
2583
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2584
+ hook_ctx: hook_ctx
2585
+ ),
2586
+ response: http_response
2587
+ )
2588
+ end
2589
+
2590
+ if http_response.nil?
2591
+ raise error if !error.nil?
2592
+ raise 'no response'
2593
+ end
2594
+ end
2595
+
2596
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2597
+ if Utils.match_status_code(http_response.status, ['200'])
2598
+ if Utils.match_content_type(content_type, 'application/json')
2599
+ http_response = @sdk_configuration.hooks.after_success(
2600
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2601
+ hook_ctx: hook_ctx
2602
+ ),
2603
+ response: http_response
2604
+ )
2605
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::MessagingUsersPaginated)
2606
+ response = Models::Operations::MessagingListUsersResponse.new(
2607
+ status_code: http_response.status,
2608
+ content_type: content_type,
2609
+ raw_response: http_response,
2610
+ messaging_users_paginated: obj
2611
+ )
2612
+
2613
+ return response
2614
+ else
2615
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2616
+ end
2617
+ elsif Utils.match_status_code(http_response.status, ['400'])
2618
+ if Utils.match_content_type(content_type, 'application/json')
2619
+ http_response = @sdk_configuration.hooks.after_success(
2620
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2621
+ hook_ctx: hook_ctx
2622
+ ),
2623
+ response: http_response
2624
+ )
2625
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
2626
+ throw obj
2627
+ else
2628
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2629
+ end
2630
+ elsif Utils.match_status_code(http_response.status, ['401'])
2631
+ if Utils.match_content_type(content_type, 'application/json')
2632
+ http_response = @sdk_configuration.hooks.after_success(
2633
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2634
+ hook_ctx: hook_ctx
2635
+ ),
2636
+ response: http_response
2637
+ )
2638
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
2639
+ throw obj
2640
+ else
2641
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2642
+ end
2643
+ elsif Utils.match_status_code(http_response.status, ['403'])
2644
+ if Utils.match_content_type(content_type, 'application/json')
2645
+ http_response = @sdk_configuration.hooks.after_success(
2646
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2647
+ hook_ctx: hook_ctx
2648
+ ),
2649
+ response: http_response
2650
+ )
2651
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
2652
+ throw obj
2653
+ else
2654
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2655
+ end
2656
+ elsif Utils.match_status_code(http_response.status, ['404'])
2657
+ if Utils.match_content_type(content_type, 'application/json')
2658
+ http_response = @sdk_configuration.hooks.after_success(
2659
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2660
+ hook_ctx: hook_ctx
2661
+ ),
2662
+ response: http_response
2663
+ )
2664
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
2665
+ throw obj
2666
+ else
2667
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2668
+ end
2669
+ elsif Utils.match_status_code(http_response.status, ['408'])
2670
+ if Utils.match_content_type(content_type, 'application/json')
2671
+ http_response = @sdk_configuration.hooks.after_success(
2672
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2673
+ hook_ctx: hook_ctx
2674
+ ),
2675
+ response: http_response
2676
+ )
2677
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
2678
+ throw obj
2679
+ else
2680
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2681
+ end
2682
+ elsif Utils.match_status_code(http_response.status, ['409'])
2683
+ if Utils.match_content_type(content_type, 'application/json')
2684
+ http_response = @sdk_configuration.hooks.after_success(
2685
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2686
+ hook_ctx: hook_ctx
2687
+ ),
2688
+ response: http_response
2689
+ )
2690
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
2691
+ throw obj
2692
+ else
2693
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2694
+ end
2695
+ elsif Utils.match_status_code(http_response.status, ['412'])
2696
+ if Utils.match_content_type(content_type, 'application/json')
2697
+ http_response = @sdk_configuration.hooks.after_success(
2698
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2699
+ hook_ctx: hook_ctx
2700
+ ),
2701
+ response: http_response
2702
+ )
2703
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
2704
+ throw obj
2705
+ else
2706
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2707
+ end
2708
+ elsif Utils.match_status_code(http_response.status, ['422'])
2709
+ if Utils.match_content_type(content_type, 'application/json')
2710
+ http_response = @sdk_configuration.hooks.after_success(
2711
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2712
+ hook_ctx: hook_ctx
2713
+ ),
2714
+ response: http_response
2715
+ )
2716
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
2717
+ throw obj
2718
+ else
2719
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2720
+ end
2721
+ elsif Utils.match_status_code(http_response.status, ['429'])
2722
+ if Utils.match_content_type(content_type, 'application/json')
2723
+ http_response = @sdk_configuration.hooks.after_success(
2724
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2725
+ hook_ctx: hook_ctx
2726
+ ),
2727
+ response: http_response
2728
+ )
2729
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
2730
+ throw obj
2731
+ else
2732
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2733
+ end
2734
+ elsif Utils.match_status_code(http_response.status, ['500'])
2735
+ if Utils.match_content_type(content_type, 'application/json')
2736
+ http_response = @sdk_configuration.hooks.after_success(
2737
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2738
+ hook_ctx: hook_ctx
2739
+ ),
2740
+ response: http_response
2741
+ )
2742
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
2743
+ throw obj
2744
+ else
2745
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2746
+ end
2747
+ elsif Utils.match_status_code(http_response.status, ['501'])
2748
+ if Utils.match_content_type(content_type, 'application/json')
2749
+ http_response = @sdk_configuration.hooks.after_success(
2750
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2751
+ hook_ctx: hook_ctx
2752
+ ),
2753
+ response: http_response
2754
+ )
2755
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
2756
+ throw obj
2757
+ else
2758
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2759
+ end
2760
+ elsif Utils.match_status_code(http_response.status, ['502'])
2761
+ if Utils.match_content_type(content_type, 'application/json')
2762
+ http_response = @sdk_configuration.hooks.after_success(
2763
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2764
+ hook_ctx: hook_ctx
2765
+ ),
2766
+ response: http_response
2767
+ )
2768
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
2769
+ throw obj
2770
+ else
2771
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2772
+ end
2773
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2774
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2775
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2776
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2777
+ else
2778
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2779
+
2780
+ end
2781
+ end
2782
+
2783
+
2784
+ sig { params(messaging_message_send_request_dto: Models::Shared::MessagingMessageSendRequestDto, x_account_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MessagingSendMessageResponse) }
2785
+ def send_message(messaging_message_send_request_dto, x_account_id, retries = nil, timeout_ms = nil)
2786
+ # send_message - Send Message
2787
+ request = Models::Operations::MessagingSendMessageRequest.new(
2788
+
2789
+ messaging_message_send_request_dto: messaging_message_send_request_dto,
2790
+ x_account_id: x_account_id
2791
+ )
2792
+ url, params = @sdk_configuration.get_server_details
2793
+ base_url = Utils.template_url(url, params)
2794
+ url = "#{base_url}/unified/messaging/messages"
2795
+ headers = Utils.get_headers(request)
2796
+ req_content_type, data, form = Utils.serialize_request_body(request, :messaging_message_send_request_dto, :json)
2797
+ headers['content-type'] = req_content_type
2798
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
2799
+
2800
+ if form
2801
+ body = Utils.encode_form(form)
2802
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
2803
+ body = URI.encode_www_form(data)
2804
+ else
2805
+ body = data
2806
+ end
2807
+ headers['Accept'] = 'application/json'
2808
+ headers['user-agent'] = @sdk_configuration.user_agent
2809
+ retries ||= @sdk_configuration.retry_config
2810
+ retries ||= Utils::RetryConfig.new(
2811
+ backoff: Utils::BackoffStrategy.new(
2812
+ exponent: 1.5,
2813
+ initial_interval: 500,
2814
+ max_elapsed_time: 3_600_000,
2815
+ max_interval: 60_000
2816
+ ),
2817
+ retry_connection_errors: true,
2818
+ strategy: 'backoff'
2819
+ )
2820
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2821
+ retry_options[:retry_statuses] = [429, 408]
2822
+
2823
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
2824
+
2825
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2826
+ timeout ||= @sdk_configuration.timeout
2827
+
2828
+ connection = @sdk_configuration.client.dup
2829
+ connection.request :retry, retry_options
2830
+
2831
+ hook_ctx = SDKHooks::HookContext.new(
2832
+ base_url: base_url,
2833
+ oauth2_scopes: [],
2834
+ operation_id: 'messaging_send_message',
2835
+ security_source: @sdk_configuration.security_source
2836
+ )
2837
+
2838
+ error = T.let(nil, T.nilable(StandardError))
2839
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2840
+
2841
+
2842
+ begin
2843
+ http_response = connection.post(url) do |req|
2844
+ req.body = body
2845
+ req.headers.merge!(headers)
2846
+ req.options.timeout = timeout unless timeout.nil?
2847
+ Utils.configure_request_security(req, security)
2848
+
2849
+ @sdk_configuration.hooks.before_request(
2850
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2851
+ hook_ctx: hook_ctx
2852
+ ),
2853
+ request: req
2854
+ )
2855
+ end
2856
+ rescue StandardError => e
2857
+ error = e
2858
+ ensure
2859
+ if http_response.nil? || Utils.error_status?(http_response.status)
2860
+ http_response = @sdk_configuration.hooks.after_error(
2861
+ error: error,
2862
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2863
+ hook_ctx: hook_ctx
2864
+ ),
2865
+ response: http_response
2866
+ )
2867
+ else
2868
+ http_response = @sdk_configuration.hooks.after_success(
2869
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2870
+ hook_ctx: hook_ctx
2871
+ ),
2872
+ response: http_response
2873
+ )
2874
+ end
2875
+
2876
+ if http_response.nil?
2877
+ raise error if !error.nil?
2878
+ raise 'no response'
2879
+ end
2880
+ end
2881
+
2882
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2883
+ if Utils.match_status_code(http_response.status, ['201'])
2884
+ if Utils.match_content_type(content_type, 'application/json')
2885
+ http_response = @sdk_configuration.hooks.after_success(
2886
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2887
+ hook_ctx: hook_ctx
2888
+ ),
2889
+ response: http_response
2890
+ )
2891
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::CreateResult)
2892
+ response = Models::Operations::MessagingSendMessageResponse.new(
2893
+ status_code: http_response.status,
2894
+ content_type: content_type,
2895
+ raw_response: http_response,
2896
+ create_result: obj
2897
+ )
2898
+
2899
+ return response
2900
+ else
2901
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2902
+ end
2903
+ elsif Utils.match_status_code(http_response.status, ['400'])
2904
+ if Utils.match_content_type(content_type, 'application/json')
2905
+ http_response = @sdk_configuration.hooks.after_success(
2906
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2907
+ hook_ctx: hook_ctx
2908
+ ),
2909
+ response: http_response
2910
+ )
2911
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
2912
+ throw obj
2913
+ else
2914
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2915
+ end
2916
+ elsif Utils.match_status_code(http_response.status, ['401'])
2917
+ if Utils.match_content_type(content_type, 'application/json')
2918
+ http_response = @sdk_configuration.hooks.after_success(
2919
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2920
+ hook_ctx: hook_ctx
2921
+ ),
2922
+ response: http_response
2923
+ )
2924
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
2925
+ throw obj
2926
+ else
2927
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2928
+ end
2929
+ elsif Utils.match_status_code(http_response.status, ['403'])
2930
+ if Utils.match_content_type(content_type, 'application/json')
2931
+ http_response = @sdk_configuration.hooks.after_success(
2932
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2933
+ hook_ctx: hook_ctx
2934
+ ),
2935
+ response: http_response
2936
+ )
2937
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
2938
+ throw obj
2939
+ else
2940
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2941
+ end
2942
+ elsif Utils.match_status_code(http_response.status, ['404'])
2943
+ if Utils.match_content_type(content_type, 'application/json')
2944
+ http_response = @sdk_configuration.hooks.after_success(
2945
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2946
+ hook_ctx: hook_ctx
2947
+ ),
2948
+ response: http_response
2949
+ )
2950
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
2951
+ throw obj
2952
+ else
2953
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2954
+ end
2955
+ elsif Utils.match_status_code(http_response.status, ['408'])
2956
+ if Utils.match_content_type(content_type, 'application/json')
2957
+ http_response = @sdk_configuration.hooks.after_success(
2958
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2959
+ hook_ctx: hook_ctx
2960
+ ),
2961
+ response: http_response
2962
+ )
2963
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
2964
+ throw obj
2965
+ else
2966
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2967
+ end
2968
+ elsif Utils.match_status_code(http_response.status, ['409'])
2969
+ if Utils.match_content_type(content_type, 'application/json')
2970
+ http_response = @sdk_configuration.hooks.after_success(
2971
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2972
+ hook_ctx: hook_ctx
2973
+ ),
2974
+ response: http_response
2975
+ )
2976
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
2977
+ throw obj
2978
+ else
2979
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2980
+ end
2981
+ elsif Utils.match_status_code(http_response.status, ['412'])
2982
+ if Utils.match_content_type(content_type, 'application/json')
2983
+ http_response = @sdk_configuration.hooks.after_success(
2984
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2985
+ hook_ctx: hook_ctx
2986
+ ),
2987
+ response: http_response
2988
+ )
2989
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
2990
+ throw obj
2991
+ else
2992
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2993
+ end
2994
+ elsif Utils.match_status_code(http_response.status, ['422'])
2995
+ if Utils.match_content_type(content_type, 'application/json')
2996
+ http_response = @sdk_configuration.hooks.after_success(
2997
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2998
+ hook_ctx: hook_ctx
2999
+ ),
3000
+ response: http_response
3001
+ )
3002
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
3003
+ throw obj
3004
+ else
3005
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3006
+ end
3007
+ elsif Utils.match_status_code(http_response.status, ['429'])
3008
+ if Utils.match_content_type(content_type, 'application/json')
3009
+ http_response = @sdk_configuration.hooks.after_success(
3010
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3011
+ hook_ctx: hook_ctx
3012
+ ),
3013
+ response: http_response
3014
+ )
3015
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
3016
+ throw obj
3017
+ else
3018
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3019
+ end
3020
+ elsif Utils.match_status_code(http_response.status, ['500'])
3021
+ if Utils.match_content_type(content_type, 'application/json')
3022
+ http_response = @sdk_configuration.hooks.after_success(
3023
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3024
+ hook_ctx: hook_ctx
3025
+ ),
3026
+ response: http_response
3027
+ )
3028
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
3029
+ throw obj
3030
+ else
3031
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3032
+ end
3033
+ elsif Utils.match_status_code(http_response.status, ['501'])
3034
+ if Utils.match_content_type(content_type, 'application/json')
3035
+ http_response = @sdk_configuration.hooks.after_success(
3036
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3037
+ hook_ctx: hook_ctx
3038
+ ),
3039
+ response: http_response
3040
+ )
3041
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
3042
+ throw obj
3043
+ else
3044
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3045
+ end
3046
+ elsif Utils.match_status_code(http_response.status, ['502'])
3047
+ if Utils.match_content_type(content_type, 'application/json')
3048
+ http_response = @sdk_configuration.hooks.after_success(
3049
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3050
+ hook_ctx: hook_ctx
3051
+ ),
3052
+ response: http_response
3053
+ )
3054
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
3055
+ throw obj
3056
+ else
3057
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3058
+ end
3059
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
3060
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
3061
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
3062
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
3063
+ else
3064
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
3065
+
3066
+ end
3067
+ end
3068
+ end
3069
+ end