stackone_client 0.33.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 (389) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/accounting.rb +2519 -0
  3. data/lib/stack_one/accounts.rb +1 -1
  4. data/lib/stack_one/documents.rb +2227 -0
  5. data/lib/stack_one/messaging.rb +3069 -0
  6. data/lib/stack_one/models/operations/accounting_batch_create_company_journals_request.rb +41 -0
  7. data/lib/stack_one/models/operations/accounting_batch_create_company_journals_response.rb +49 -0
  8. data/lib/stack_one/models/operations/accounting_get_company_account_request.rb +53 -0
  9. data/lib/stack_one/models/operations/accounting_get_company_account_response.rb +49 -0
  10. data/lib/stack_one/models/operations/accounting_get_company_journal_request.rb +53 -0
  11. data/lib/stack_one/models/operations/accounting_get_company_journal_response.rb +49 -0
  12. data/lib/stack_one/models/operations/accounting_get_company_request.rb +49 -0
  13. data/lib/stack_one/models/operations/accounting_get_company_response.rb +49 -0
  14. data/lib/stack_one/models/operations/accounting_get_company_tax_rate_request.rb +53 -0
  15. data/lib/stack_one/models/operations/accounting_get_company_tax_rate_response.rb +49 -0
  16. data/lib/stack_one/models/operations/accounting_list_companies_queryparam_filter.rb +33 -0
  17. data/lib/stack_one/models/operations/accounting_list_companies_request.rb +69 -0
  18. data/lib/stack_one/models/operations/accounting_list_companies_response.rb +49 -0
  19. data/lib/stack_one/models/operations/accounting_list_company_accounts_queryparam_filter.rb +33 -0
  20. data/lib/stack_one/models/operations/accounting_list_company_accounts_request.rb +73 -0
  21. data/lib/stack_one/models/operations/accounting_list_company_accounts_response.rb +49 -0
  22. data/lib/stack_one/models/operations/accounting_list_company_journals_queryparam_filter.rb +33 -0
  23. data/lib/stack_one/models/operations/accounting_list_company_journals_request.rb +73 -0
  24. data/lib/stack_one/models/operations/accounting_list_company_journals_response.rb +49 -0
  25. data/lib/stack_one/models/operations/accounting_list_company_tax_rates_queryparam_filter.rb +33 -0
  26. data/lib/stack_one/models/operations/accounting_list_company_tax_rates_request.rb +73 -0
  27. data/lib/stack_one/models/operations/accounting_list_company_tax_rates_response.rb +49 -0
  28. data/lib/stack_one/models/operations/active.rb +28 -0
  29. data/lib/stack_one/models/operations/documents_download_file_request.rb +49 -0
  30. data/lib/stack_one/models/operations/documents_download_file_response.rb +49 -0
  31. data/lib/stack_one/models/operations/documents_get_drive_request.rb +49 -0
  32. data/lib/stack_one/models/operations/documents_get_drive_response.rb +49 -0
  33. data/lib/stack_one/models/operations/documents_get_file_request.rb +57 -0
  34. data/lib/stack_one/models/operations/documents_get_file_response.rb +49 -0
  35. data/lib/stack_one/models/operations/documents_get_folder_request.rb +53 -0
  36. data/lib/stack_one/models/operations/documents_get_folder_response.rb +49 -0
  37. data/lib/stack_one/models/operations/documents_list_drives_queryparam_filter.rb +33 -0
  38. data/lib/stack_one/models/operations/documents_list_drives_request.rb +69 -0
  39. data/lib/stack_one/models/operations/documents_list_drives_response.rb +49 -0
  40. data/lib/stack_one/models/operations/documents_list_files_queryparam_filter.rb +53 -0
  41. data/lib/stack_one/models/operations/documents_list_files_request.rb +85 -0
  42. data/lib/stack_one/models/operations/documents_list_files_response.rb +49 -0
  43. data/lib/stack_one/models/operations/documents_list_folders_queryparam_filter.rb +41 -0
  44. data/lib/stack_one/models/operations/documents_list_folders_request.rb +81 -0
  45. data/lib/stack_one/models/operations/documents_list_folders_response.rb +49 -0
  46. data/lib/stack_one/models/operations/documents_upload_file_request.rb +41 -0
  47. data/lib/stack_one/models/operations/documents_upload_file_response.rb +49 -0
  48. data/lib/stack_one/models/operations/lms_list_content_queryparam_filter.rb +7 -3
  49. data/lib/stack_one/models/operations/lms_list_content_request.rb +1 -1
  50. data/lib/stack_one/models/operations/lms_list_courses_queryparam_filter.rb +6 -2
  51. data/lib/stack_one/models/operations/messaging_create_conversation_request.rb +37 -0
  52. data/lib/stack_one/models/operations/messaging_create_conversation_response.rb +49 -0
  53. data/lib/stack_one/models/operations/messaging_download_messaging_attachment_request.rb +49 -0
  54. data/lib/stack_one/models/operations/messaging_download_messaging_attachment_response.rb +49 -0
  55. data/lib/stack_one/models/operations/messaging_get_attachment_request.rb +53 -0
  56. data/lib/stack_one/models/operations/messaging_get_attachment_response.rb +49 -0
  57. data/lib/stack_one/models/operations/messaging_get_conversation_request.rb +49 -0
  58. data/lib/stack_one/models/operations/messaging_get_conversation_response.rb +49 -0
  59. data/lib/stack_one/models/operations/messaging_get_message_queryparam_filter.rb +28 -0
  60. data/lib/stack_one/models/operations/messaging_get_message_request.rb +53 -0
  61. data/lib/stack_one/models/operations/messaging_get_message_response.rb +49 -0
  62. data/lib/stack_one/models/operations/messaging_get_user_request.rb +49 -0
  63. data/lib/stack_one/models/operations/messaging_get_user_response.rb +49 -0
  64. data/lib/stack_one/models/operations/messaging_list_attachments_queryparam_filter.rb +33 -0
  65. data/lib/stack_one/models/operations/messaging_list_attachments_request.rb +73 -0
  66. data/lib/stack_one/models/operations/messaging_list_attachments_response.rb +49 -0
  67. data/lib/stack_one/models/operations/messaging_list_conversation_messages_queryparam_filter.rb +33 -0
  68. data/lib/stack_one/models/operations/messaging_list_conversation_messages_request.rb +73 -0
  69. data/lib/stack_one/models/operations/messaging_list_conversation_messages_response.rb +49 -0
  70. data/lib/stack_one/models/operations/messaging_list_conversations_queryparam_filter.rb +33 -0
  71. data/lib/stack_one/models/operations/messaging_list_conversations_request.rb +69 -0
  72. data/lib/stack_one/models/operations/messaging_list_conversations_response.rb +49 -0
  73. data/lib/stack_one/models/operations/messaging_list_users_queryparam_filter.rb +33 -0
  74. data/lib/stack_one/models/operations/messaging_list_users_request.rb +69 -0
  75. data/lib/stack_one/models/operations/messaging_list_users_response.rb +49 -0
  76. data/lib/stack_one/models/operations/messaging_send_message_request.rb +37 -0
  77. data/lib/stack_one/models/operations/messaging_send_message_response.rb +49 -0
  78. data/lib/stack_one/models/operations/queryparam_active.rb +28 -0
  79. data/lib/stack_one/models/operations/screening_create_screening_order_request.rb +37 -0
  80. data/lib/stack_one/models/operations/screening_create_screening_order_response.rb +49 -0
  81. data/lib/stack_one/models/operations/screening_get_screening_package_request.rb +49 -0
  82. data/lib/stack_one/models/operations/screening_get_screening_package_response.rb +49 -0
  83. data/lib/stack_one/models/operations/screening_list_screening_packages_queryparam_filter.rb +33 -0
  84. data/lib/stack_one/models/operations/screening_list_screening_packages_request.rb +69 -0
  85. data/lib/stack_one/models/operations/screening_list_screening_packages_response.rb +49 -0
  86. data/lib/stack_one/models/operations/screening_webhook_screening_result_request.rb +37 -0
  87. data/lib/stack_one/models/operations/screening_webhook_screening_result_response.rb +49 -0
  88. data/lib/stack_one/models/operations/stackone_list_linked_accounts_request.rb +6 -2
  89. data/lib/stack_one/models/operations/ticketing_create_ticket_request.rb +37 -0
  90. data/lib/stack_one/models/operations/ticketing_create_ticket_response.rb +49 -0
  91. data/lib/stack_one/models/operations/ticketing_download_ticketing_attachment_request.rb +49 -0
  92. data/lib/stack_one/models/operations/ticketing_download_ticketing_attachment_response.rb +49 -0
  93. data/lib/stack_one/models/operations/ticketing_get_attachment_request.rb +53 -0
  94. data/lib/stack_one/models/operations/ticketing_get_attachment_response.rb +49 -0
  95. data/lib/stack_one/models/operations/ticketing_get_comment_request.rb +53 -0
  96. data/lib/stack_one/models/operations/ticketing_get_comment_response.rb +49 -0
  97. data/lib/stack_one/models/operations/ticketing_get_project_component_request.rb +53 -0
  98. data/lib/stack_one/models/operations/ticketing_get_project_component_response.rb +49 -0
  99. data/lib/stack_one/models/operations/ticketing_get_project_request.rb +49 -0
  100. data/lib/stack_one/models/operations/ticketing_get_project_response.rb +49 -0
  101. data/lib/stack_one/models/operations/ticketing_get_ticket_request.rb +49 -0
  102. data/lib/stack_one/models/operations/ticketing_get_ticket_response.rb +49 -0
  103. data/lib/stack_one/models/operations/ticketing_get_ticket_type_request.rb +49 -0
  104. data/lib/stack_one/models/operations/ticketing_get_ticket_type_response.rb +49 -0
  105. data/lib/stack_one/models/operations/ticketing_get_user_request.rb +49 -0
  106. data/lib/stack_one/models/operations/ticketing_get_user_response.rb +49 -0
  107. data/lib/stack_one/models/operations/ticketing_list_attachments_queryparam_filter.rb +33 -0
  108. data/lib/stack_one/models/operations/ticketing_list_attachments_request.rb +73 -0
  109. data/lib/stack_one/models/operations/ticketing_list_attachments_response.rb +49 -0
  110. data/lib/stack_one/models/operations/ticketing_list_comments_queryparam_filter.rb +33 -0
  111. data/lib/stack_one/models/operations/ticketing_list_comments_request.rb +73 -0
  112. data/lib/stack_one/models/operations/ticketing_list_comments_response.rb +49 -0
  113. data/lib/stack_one/models/operations/ticketing_list_project_components_queryparam_filter.rb +33 -0
  114. data/lib/stack_one/models/operations/ticketing_list_project_components_request.rb +73 -0
  115. data/lib/stack_one/models/operations/ticketing_list_project_components_response.rb +49 -0
  116. data/lib/stack_one/models/operations/ticketing_list_project_ticket_types_queryparam_filter.rb +33 -0
  117. data/lib/stack_one/models/operations/ticketing_list_project_ticket_types_request.rb +73 -0
  118. data/lib/stack_one/models/operations/ticketing_list_project_ticket_types_response.rb +49 -0
  119. data/lib/stack_one/models/operations/ticketing_list_projects_queryparam_filter.rb +33 -0
  120. data/lib/stack_one/models/operations/ticketing_list_projects_request.rb +69 -0
  121. data/lib/stack_one/models/operations/ticketing_list_projects_response.rb +49 -0
  122. data/lib/stack_one/models/operations/ticketing_list_ticket_statuses_queryparam_filter.rb +33 -0
  123. data/lib/stack_one/models/operations/ticketing_list_ticket_statuses_request.rb +73 -0
  124. data/lib/stack_one/models/operations/ticketing_list_ticket_statuses_response.rb +49 -0
  125. data/lib/stack_one/models/operations/ticketing_list_ticket_types_queryparam_filter.rb +33 -0
  126. data/lib/stack_one/models/operations/ticketing_list_ticket_types_request.rb +69 -0
  127. data/lib/stack_one/models/operations/ticketing_list_ticket_types_response.rb +49 -0
  128. data/lib/stack_one/models/operations/ticketing_list_tickets_queryparam_filter.rb +33 -0
  129. data/lib/stack_one/models/operations/ticketing_list_tickets_request.rb +69 -0
  130. data/lib/stack_one/models/operations/ticketing_list_tickets_response.rb +49 -0
  131. data/lib/stack_one/models/operations/ticketing_list_users_queryparam_filter.rb +33 -0
  132. data/lib/stack_one/models/operations/ticketing_list_users_request.rb +69 -0
  133. data/lib/stack_one/models/operations/ticketing_list_users_response.rb +49 -0
  134. data/lib/stack_one/models/operations/ticketing_update_ticket_request.rb +41 -0
  135. data/lib/stack_one/models/operations/ticketing_update_ticket_response.rb +49 -0
  136. data/lib/stack_one/models/operations.rb +126 -0
  137. data/lib/stack_one/models/shared/account_type.rb +37 -0
  138. data/lib/stack_one/models/shared/accountingaccount.rb +57 -0
  139. data/lib/stack_one/models/shared/accountingaccount_4.rb +28 -0
  140. data/lib/stack_one/models/shared/accountingaccount_source_value.rb +28 -0
  141. data/lib/stack_one/models/shared/accountingaccount_value.rb +24 -0
  142. data/lib/stack_one/models/shared/accountingaccountresult.rb +37 -0
  143. data/lib/stack_one/models/shared/accountingaccountresult_2.rb +20 -0
  144. data/lib/stack_one/models/shared/accountingaccountresult_4.rb +28 -0
  145. data/lib/stack_one/models/shared/accountingaccountresult_active.rb +28 -0
  146. data/lib/stack_one/models/shared/accountingaccountresult_source_value.rb +28 -0
  147. data/lib/stack_one/models/shared/accountingaccountresult_type.rb +37 -0
  148. data/lib/stack_one/models/shared/accountingaccountresult_value.rb +24 -0
  149. data/lib/stack_one/models/shared/accountingaccountspaginated.rb +41 -0
  150. data/lib/stack_one/models/shared/accountingcompaniespaginated.rb +41 -0
  151. data/lib/stack_one/models/shared/accountingcompany.rb +53 -0
  152. data/lib/stack_one/models/shared/accountingcompany_4.rb +28 -0
  153. data/lib/stack_one/models/shared/accountingcompany_source_value.rb +28 -0
  154. data/lib/stack_one/models/shared/accountingcompany_value.rb +176 -0
  155. data/lib/stack_one/models/shared/accountingcompanyresult.rb +37 -0
  156. data/lib/stack_one/models/shared/accountingcompanyresult_4.rb +28 -0
  157. data/lib/stack_one/models/shared/accountingcompanyresult_base_currency.rb +37 -0
  158. data/lib/stack_one/models/shared/accountingcompanyresult_data.rb +53 -0
  159. data/lib/stack_one/models/shared/accountingcompanyresult_source_value.rb +28 -0
  160. data/lib/stack_one/models/shared/accountingcompanyresult_value.rb +176 -0
  161. data/lib/stack_one/models/shared/accountingjournal.rb +73 -0
  162. data/lib/stack_one/models/shared/accountingjournal_4.rb +28 -0
  163. data/lib/stack_one/models/shared/accountingjournal_source_value.rb +28 -0
  164. data/lib/stack_one/models/shared/accountingjournal_value.rb +22 -0
  165. data/lib/stack_one/models/shared/accountingjournalbatchcreaterequestdto.rb +33 -0
  166. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto.rb +53 -0
  167. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto_4.rb +28 -0
  168. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto_source_value.rb +28 -0
  169. data/lib/stack_one/models/shared/accountingjournalcreaterequestdto_value.rb +176 -0
  170. data/lib/stack_one/models/shared/accountingjournalresult.rb +37 -0
  171. data/lib/stack_one/models/shared/accountingjournalresult_4.rb +28 -0
  172. data/lib/stack_one/models/shared/accountingjournalresult_data.rb +73 -0
  173. data/lib/stack_one/models/shared/accountingjournalresult_source_value.rb +28 -0
  174. data/lib/stack_one/models/shared/accountingjournalresult_status.rb +37 -0
  175. data/lib/stack_one/models/shared/accountingjournalresult_value.rb +22 -0
  176. data/lib/stack_one/models/shared/accountingjournalspaginated.rb +41 -0
  177. data/lib/stack_one/models/shared/accountingtaxrate.rb +57 -0
  178. data/lib/stack_one/models/shared/accountingtaxrate_2.rb +20 -0
  179. data/lib/stack_one/models/shared/accountingtaxrate_active.rb +28 -0
  180. data/lib/stack_one/models/shared/accountingtaxrateresult.rb +37 -0
  181. data/lib/stack_one/models/shared/accountingtaxrateresult_2.rb +20 -0
  182. data/lib/stack_one/models/shared/accountingtaxrateresult_active.rb +28 -0
  183. data/lib/stack_one/models/shared/accountingtaxrateresult_data.rb +57 -0
  184. data/lib/stack_one/models/shared/accountingtaxratespaginated.rb +41 -0
  185. data/lib/stack_one/models/shared/active.rb +1 -1
  186. data/lib/stack_one/models/shared/answer.rb +2 -2
  187. data/lib/stack_one/models/shared/answer_type.rb +37 -0
  188. data/lib/stack_one/models/shared/application.rb +2 -0
  189. data/lib/stack_one/models/shared/assignment.rb +2 -2
  190. data/lib/stack_one/models/shared/assignment_status.rb +37 -0
  191. data/lib/stack_one/models/shared/author.rb +69 -0
  192. data/lib/stack_one/models/shared/base_currency.rb +37 -0
  193. data/lib/stack_one/models/shared/bot.rb +28 -0
  194. data/lib/stack_one/models/shared/campaign.rb +3 -3
  195. data/lib/stack_one/models/shared/campaign_schemas_2.rb +20 -0
  196. data/lib/stack_one/models/shared/category_active.rb +28 -0
  197. data/lib/stack_one/models/shared/contentpaginated.rb +6 -2
  198. data/lib/stack_one/models/shared/coursepaginated.rb +6 -2
  199. data/lib/stack_one/models/shared/createjournalline.rb +49 -0
  200. data/lib/stack_one/models/shared/currency_code.rb +37 -0
  201. data/lib/stack_one/models/shared/data.rb +19 -43
  202. data/lib/stack_one/models/shared/driveresult.rb +37 -0
  203. data/lib/stack_one/models/shared/drives.rb +57 -0
  204. data/lib/stack_one/models/shared/drivespaginated.rb +41 -0
  205. data/lib/stack_one/models/shared/employee.rb +2 -0
  206. data/lib/stack_one/models/shared/event.rb +23 -0
  207. data/lib/stack_one/models/shared/fileresult.rb +37 -0
  208. data/lib/stack_one/models/shared/files.rb +113 -0
  209. data/lib/stack_one/models/shared/files_2.rb +20 -0
  210. data/lib/stack_one/models/shared/files_4.rb +28 -0
  211. data/lib/stack_one/models/shared/files_file_format.rb +37 -0
  212. data/lib/stack_one/models/shared/files_schemas_2.rb +20 -0
  213. data/lib/stack_one/models/shared/files_source_value.rb +28 -0
  214. data/lib/stack_one/models/shared/files_value.rb +1229 -0
  215. data/lib/stack_one/models/shared/filespaginated.rb +41 -0
  216. data/lib/stack_one/models/shared/folderresult.rb +37 -0
  217. data/lib/stack_one/models/shared/folders.rb +105 -0
  218. data/lib/stack_one/models/shared/folders_2.rb +20 -0
  219. data/lib/stack_one/models/shared/folders_has_children.rb +28 -0
  220. data/lib/stack_one/models/shared/folders_has_content.rb +28 -0
  221. data/lib/stack_one/models/shared/folders_schemas_2.rb +20 -0
  222. data/lib/stack_one/models/shared/folders_schemas_is_root_2.rb +20 -0
  223. data/lib/stack_one/models/shared/folderspaginated.rb +41 -0
  224. data/lib/stack_one/models/shared/has_children.rb +28 -0
  225. data/lib/stack_one/models/shared/has_content.rb +28 -0
  226. data/lib/stack_one/models/shared/hrisshiftresult.rb +2 -2
  227. data/lib/stack_one/models/shared/hrisshiftresult_data.rb +81 -0
  228. data/lib/stack_one/models/shared/is_root.rb +28 -0
  229. data/lib/stack_one/models/shared/journalline.rb +65 -0
  230. data/lib/stack_one/models/shared/journalline_4.rb +28 -0
  231. data/lib/stack_one/models/shared/journalline_currency_code.rb +37 -0
  232. data/lib/stack_one/models/shared/journalline_schemas_4.rb +28 -0
  233. data/lib/stack_one/models/shared/journalline_schemas_source_value.rb +28 -0
  234. data/lib/stack_one/models/shared/journalline_schemas_value.rb +176 -0
  235. data/lib/stack_one/models/shared/journalline_source_value.rb +28 -0
  236. data/lib/stack_one/models/shared/journalline_value.rb +24 -0
  237. data/lib/stack_one/models/shared/messagingattachment.rb +49 -0
  238. data/lib/stack_one/models/shared/messagingattachmentresult.rb +37 -0
  239. data/lib/stack_one/models/shared/messagingattachmentresult_data.rb +49 -0
  240. data/lib/stack_one/models/shared/messagingattachmentspaginated.rb +41 -0
  241. data/lib/stack_one/models/shared/messagingconversation.rb +57 -0
  242. data/lib/stack_one/models/shared/messagingconversation_2.rb +20 -0
  243. data/lib/stack_one/models/shared/messagingconversationresult.rb +37 -0
  244. data/lib/stack_one/models/shared/messagingconversationresult_2.rb +20 -0
  245. data/lib/stack_one/models/shared/messagingconversationresult_data.rb +57 -0
  246. data/lib/stack_one/models/shared/messagingconversationresult_private.rb +28 -0
  247. data/lib/stack_one/models/shared/messagingconversationspaginated.rb +41 -0
  248. data/lib/stack_one/models/shared/messagingcreateconversationrequestdto.rb +41 -0
  249. data/lib/stack_one/models/shared/messagingcreateconversationrequestdto_2.rb +20 -0
  250. data/lib/stack_one/models/shared/messagingcreateconversationrequestdto_private.rb +28 -0
  251. data/lib/stack_one/models/shared/messagingmessage.rb +61 -0
  252. data/lib/stack_one/models/shared/messagingmessage_2.rb +20 -0
  253. data/lib/stack_one/models/shared/messagingmessage_active.rb +28 -0
  254. data/lib/stack_one/models/shared/messagingmessage_content.rb +37 -0
  255. data/lib/stack_one/models/shared/messagingmessageresult.rb +37 -0
  256. data/lib/stack_one/models/shared/messagingmessageresult_2.rb +20 -0
  257. data/lib/stack_one/models/shared/messagingmessageresult_active.rb +28 -0
  258. data/lib/stack_one/models/shared/messagingmessageresult_author.rb +69 -0
  259. data/lib/stack_one/models/shared/messagingmessageresult_content.rb +37 -0
  260. data/lib/stack_one/models/shared/messagingmessageresult_data.rb +61 -0
  261. data/lib/stack_one/models/shared/messagingmessagesendrequestdto.rb +41 -0
  262. data/lib/stack_one/models/shared/messagingmessagespaginated.rb +41 -0
  263. data/lib/stack_one/models/shared/messaginguser.rb +65 -0
  264. data/lib/stack_one/models/shared/messaginguser_2.rb +20 -0
  265. data/lib/stack_one/models/shared/messaginguser_active.rb +28 -0
  266. data/lib/stack_one/models/shared/messaginguser_schemas_2.rb +20 -0
  267. data/lib/stack_one/models/shared/messaginguserresult.rb +37 -0
  268. data/lib/stack_one/models/shared/messaginguserresult_2.rb +20 -0
  269. data/lib/stack_one/models/shared/messaginguserresult_active.rb +28 -0
  270. data/lib/stack_one/models/shared/messaginguserresult_bot.rb +28 -0
  271. data/lib/stack_one/models/shared/messaginguserresult_data.rb +65 -0
  272. data/lib/stack_one/models/shared/messaginguserresult_schemas_2.rb +20 -0
  273. data/lib/stack_one/models/shared/messaginguserspaginated.rb +41 -0
  274. data/lib/stack_one/models/shared/organization.rb +45 -0
  275. data/lib/stack_one/models/shared/priority.rb +41 -0
  276. data/lib/stack_one/models/shared/private.rb +28 -0
  277. data/lib/stack_one/models/shared/screeningcreateorderrequestdto.rb +45 -0
  278. data/lib/stack_one/models/shared/screeningordercandidate.rb +41 -0
  279. data/lib/stack_one/models/shared/screeningpackage.rb +49 -0
  280. data/lib/stack_one/models/shared/screeningpackageresult.rb +37 -0
  281. data/lib/stack_one/models/shared/screeningpackagespaginated.rb +45 -0
  282. data/lib/stack_one/models/shared/screeningresult.rb +69 -0
  283. data/lib/stack_one/models/shared/screeningresult_score.rb +45 -0
  284. data/lib/stack_one/models/shared/screeningresult_status.rb +24 -0
  285. data/lib/stack_one/models/shared/screeningresultwebhook.rb +41 -0
  286. data/lib/stack_one/models/shared/status.rb +5 -5
  287. data/lib/stack_one/models/shared/ticketingattachment.rb +69 -0
  288. data/lib/stack_one/models/shared/ticketingattachment_4.rb +28 -0
  289. data/lib/stack_one/models/shared/ticketingattachment_file_format.rb +37 -0
  290. data/lib/stack_one/models/shared/ticketingattachment_source_value.rb +28 -0
  291. data/lib/stack_one/models/shared/ticketingattachment_value.rb +1229 -0
  292. data/lib/stack_one/models/shared/ticketingattachmentresult.rb +37 -0
  293. data/lib/stack_one/models/shared/ticketingattachmentresult_4.rb +28 -0
  294. data/lib/stack_one/models/shared/ticketingattachmentresult_data.rb +69 -0
  295. data/lib/stack_one/models/shared/ticketingattachmentresult_file_format.rb +37 -0
  296. data/lib/stack_one/models/shared/ticketingattachmentresult_source_value.rb +28 -0
  297. data/lib/stack_one/models/shared/ticketingattachmentresult_value.rb +1229 -0
  298. data/lib/stack_one/models/shared/ticketingattachmentspaginated.rb +41 -0
  299. data/lib/stack_one/models/shared/ticketingcomment.rb +61 -0
  300. data/lib/stack_one/models/shared/ticketingcomment_2.rb +20 -0
  301. data/lib/stack_one/models/shared/ticketingcomment_internal.rb +28 -0
  302. data/lib/stack_one/models/shared/ticketingcommentresult.rb +37 -0
  303. data/lib/stack_one/models/shared/ticketingcommentresult_2.rb +20 -0
  304. data/lib/stack_one/models/shared/ticketingcommentresult_data.rb +61 -0
  305. data/lib/stack_one/models/shared/ticketingcommentresult_internal.rb +28 -0
  306. data/lib/stack_one/models/shared/ticketingcommentspaginated.rb +41 -0
  307. data/lib/stack_one/models/shared/ticketingcomponent.rb +61 -0
  308. data/lib/stack_one/models/shared/ticketingcomponentresult.rb +37 -0
  309. data/lib/stack_one/models/shared/ticketingcomponentresult_data.rb +61 -0
  310. data/lib/stack_one/models/shared/ticketingcomponentspaginated.rb +41 -0
  311. data/lib/stack_one/models/shared/ticketingcontent.rb +37 -0
  312. data/lib/stack_one/models/shared/ticketingproject.rb +57 -0
  313. data/lib/stack_one/models/shared/ticketingprojectresult.rb +37 -0
  314. data/lib/stack_one/models/shared/ticketingprojectresult_data.rb +57 -0
  315. data/lib/stack_one/models/shared/ticketingprojectspaginated.rb +41 -0
  316. data/lib/stack_one/models/shared/ticketingreadticket.rb +113 -0
  317. data/lib/stack_one/models/shared/ticketingreadticket_4.rb +28 -0
  318. data/lib/stack_one/models/shared/ticketingreadticket_schemas_4.rb +28 -0
  319. data/lib/stack_one/models/shared/ticketingreadticket_schemas_source_value.rb +28 -0
  320. data/lib/stack_one/models/shared/ticketingreadticket_schemas_type.rb +37 -0
  321. data/lib/stack_one/models/shared/ticketingreadticket_schemas_value.rb +22 -0
  322. data/lib/stack_one/models/shared/ticketingreadticket_source_value.rb +28 -0
  323. data/lib/stack_one/models/shared/ticketingreadticket_status.rb +41 -0
  324. data/lib/stack_one/models/shared/ticketingreadticket_type.rb +41 -0
  325. data/lib/stack_one/models/shared/ticketingreadticket_value.rb +24 -0
  326. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto.rb +81 -0
  327. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_4.rb +28 -0
  328. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_priority.rb +41 -0
  329. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_source_value.rb +28 -0
  330. data/lib/stack_one/models/shared/ticketingticketcreaterequestdto_value.rb +24 -0
  331. data/lib/stack_one/models/shared/ticketingticketresult.rb +37 -0
  332. data/lib/stack_one/models/shared/ticketingticketresult_4.rb +28 -0
  333. data/lib/stack_one/models/shared/ticketingticketresult_data.rb +113 -0
  334. data/lib/stack_one/models/shared/ticketingticketresult_organization.rb +45 -0
  335. data/lib/stack_one/models/shared/ticketingticketresult_priority.rb +41 -0
  336. data/lib/stack_one/models/shared/ticketingticketresult_schemas_4.rb +28 -0
  337. data/lib/stack_one/models/shared/ticketingticketresult_schemas_source_value.rb +28 -0
  338. data/lib/stack_one/models/shared/ticketingticketresult_schemas_type.rb +37 -0
  339. data/lib/stack_one/models/shared/ticketingticketresult_schemas_value.rb +22 -0
  340. data/lib/stack_one/models/shared/ticketingticketresult_source_value.rb +28 -0
  341. data/lib/stack_one/models/shared/ticketingticketresult_status.rb +41 -0
  342. data/lib/stack_one/models/shared/ticketingticketresult_type.rb +41 -0
  343. data/lib/stack_one/models/shared/ticketingticketresult_value.rb +24 -0
  344. data/lib/stack_one/models/shared/ticketingticketspaginated.rb +41 -0
  345. data/lib/stack_one/models/shared/ticketingticketstatus.rb +41 -0
  346. data/lib/stack_one/models/shared/ticketingticketstatus_4.rb +28 -0
  347. data/lib/stack_one/models/shared/ticketingticketstatus_source_value.rb +28 -0
  348. data/lib/stack_one/models/shared/ticketingticketstatus_type.rb +37 -0
  349. data/lib/stack_one/models/shared/ticketingticketstatus_value.rb +22 -0
  350. data/lib/stack_one/models/shared/ticketingticketstatusespaginated.rb +41 -0
  351. data/lib/stack_one/models/shared/ticketingtickettype.rb +41 -0
  352. data/lib/stack_one/models/shared/ticketingtickettypepaginated.rb +41 -0
  353. data/lib/stack_one/models/shared/ticketingtickettyperesult.rb +37 -0
  354. data/lib/stack_one/models/shared/ticketingtickettyperesult_data.rb +41 -0
  355. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto.rb +73 -0
  356. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_4.rb +28 -0
  357. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_priority.rb +41 -0
  358. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_schemas_4.rb +28 -0
  359. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_schemas_source_value.rb +28 -0
  360. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_schemas_value.rb +22 -0
  361. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_source_value.rb +28 -0
  362. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_status.rb +41 -0
  363. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_type.rb +37 -0
  364. data/lib/stack_one/models/shared/ticketingticketupdaterequestdto_value.rb +24 -0
  365. data/lib/stack_one/models/shared/ticketinguser.rb +81 -0
  366. data/lib/stack_one/models/shared/ticketinguser_2.rb +20 -0
  367. data/lib/stack_one/models/shared/ticketinguser_4.rb +28 -0
  368. data/lib/stack_one/models/shared/ticketinguser_active.rb +28 -0
  369. data/lib/stack_one/models/shared/ticketinguser_source_value.rb +28 -0
  370. data/lib/stack_one/models/shared/ticketinguser_type.rb +37 -0
  371. data/lib/stack_one/models/shared/ticketinguser_value.rb +22 -0
  372. data/lib/stack_one/models/shared/ticketinguserresult.rb +37 -0
  373. data/lib/stack_one/models/shared/ticketinguserresult_2.rb +20 -0
  374. data/lib/stack_one/models/shared/ticketinguserresult_4.rb +28 -0
  375. data/lib/stack_one/models/shared/ticketinguserresult_active.rb +28 -0
  376. data/lib/stack_one/models/shared/ticketinguserresult_data.rb +81 -0
  377. data/lib/stack_one/models/shared/ticketinguserresult_source_value.rb +28 -0
  378. data/lib/stack_one/models/shared/ticketinguserresult_type.rb +37 -0
  379. data/lib/stack_one/models/shared/ticketinguserresult_value.rb +22 -0
  380. data/lib/stack_one/models/shared/ticketinguserspaginated.rb +41 -0
  381. data/lib/stack_one/models/shared/type.rb +6 -6
  382. data/lib/stack_one/models/shared.rb +233 -0
  383. data/lib/stack_one/proxy.rb +1 -1
  384. data/lib/stack_one/screening.rb +1143 -0
  385. data/lib/stack_one/sdkconfiguration.rb +2 -2
  386. data/lib/stack_one/stackone.rb +6 -1
  387. data/lib/stack_one/ticketing.rb +5292 -0
  388. data/lib/stackone_client.rb +5 -0
  389. metadata +366 -2
@@ -0,0 +1,2227 @@
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 Documents
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(request: T.nilable(Models::Operations::DocumentsDownloadFileRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsDownloadFileResponse) }
26
+ def download_file(request, retries = nil, timeout_ms = nil)
27
+ # download_file - Download File
28
+ url, params = @sdk_configuration.get_server_details
29
+ base_url = Utils.template_url(url, params)
30
+ url = Utils.generate_url(
31
+ Models::Operations::DocumentsDownloadFileRequest,
32
+ base_url,
33
+ '/unified/documents/files/{id}/download',
34
+ request
35
+ )
36
+ headers = Utils.get_headers(request)
37
+ query_params = Utils.get_query_params(Models::Operations::DocumentsDownloadFileRequest, request)
38
+ headers['Accept'] = '*/*'
39
+ headers['user-agent'] = @sdk_configuration.user_agent
40
+ retries ||= @sdk_configuration.retry_config
41
+ retries ||= Utils::RetryConfig.new(
42
+ backoff: Utils::BackoffStrategy.new(
43
+ exponent: 1.5,
44
+ initial_interval: 500,
45
+ max_elapsed_time: 3_600_000,
46
+ max_interval: 60_000
47
+ ),
48
+ retry_connection_errors: true,
49
+ strategy: 'backoff'
50
+ )
51
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
52
+ retry_options[:retry_statuses] = [429, 408]
53
+
54
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
55
+
56
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
57
+ timeout ||= @sdk_configuration.timeout
58
+
59
+ connection = @sdk_configuration.client.dup
60
+ connection.request :retry, retry_options
61
+
62
+ hook_ctx = SDKHooks::HookContext.new(
63
+ base_url: base_url,
64
+ oauth2_scopes: [],
65
+ operation_id: 'documents_download_file',
66
+ security_source: @sdk_configuration.security_source
67
+ )
68
+
69
+ error = T.let(nil, T.nilable(StandardError))
70
+ http_response = T.let(nil, T.nilable(Faraday::Response))
71
+
72
+
73
+ begin
74
+ http_response = connection.get(url) do |req|
75
+ req.headers.merge!(headers)
76
+ req.options.timeout = timeout unless timeout.nil?
77
+ req.params = query_params
78
+ Utils.configure_request_security(req, security)
79
+
80
+ @sdk_configuration.hooks.before_request(
81
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
82
+ hook_ctx: hook_ctx
83
+ ),
84
+ request: req
85
+ )
86
+ end
87
+ rescue StandardError => e
88
+ error = e
89
+ ensure
90
+ if http_response.nil? || Utils.error_status?(http_response.status)
91
+ http_response = @sdk_configuration.hooks.after_error(
92
+ error: error,
93
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
94
+ hook_ctx: hook_ctx
95
+ ),
96
+ response: http_response
97
+ )
98
+ else
99
+ http_response = @sdk_configuration.hooks.after_success(
100
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
101
+ hook_ctx: hook_ctx
102
+ ),
103
+ response: http_response
104
+ )
105
+ end
106
+
107
+ if http_response.nil?
108
+ raise error if !error.nil?
109
+ raise 'no response'
110
+ end
111
+ end
112
+
113
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
114
+ if Utils.match_status_code(http_response.status, ['200'])
115
+ if Utils.match_content_type(content_type, '*/*')
116
+ http_response = @sdk_configuration.hooks.after_success(
117
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
118
+ hook_ctx: hook_ctx
119
+ ),
120
+ response: http_response
121
+ )
122
+ obj = http_response.env.body
123
+
124
+ return Models::Operations::DocumentsDownloadFileResponse.new(
125
+ status_code: http_response.status,
126
+ content_type: content_type,
127
+ raw_response: http_response,
128
+ bytes: obj
129
+ )
130
+ else
131
+ 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'
132
+ end
133
+ elsif Utils.match_status_code(http_response.status, ['400'])
134
+ if Utils.match_content_type(content_type, 'application/json')
135
+ http_response = @sdk_configuration.hooks.after_success(
136
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
137
+ hook_ctx: hook_ctx
138
+ ),
139
+ response: http_response
140
+ )
141
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
142
+ throw obj
143
+ else
144
+ 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'
145
+ end
146
+ elsif Utils.match_status_code(http_response.status, ['401'])
147
+ if Utils.match_content_type(content_type, 'application/json')
148
+ http_response = @sdk_configuration.hooks.after_success(
149
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
150
+ hook_ctx: hook_ctx
151
+ ),
152
+ response: http_response
153
+ )
154
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
155
+ throw obj
156
+ else
157
+ 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'
158
+ end
159
+ elsif Utils.match_status_code(http_response.status, ['403'])
160
+ if Utils.match_content_type(content_type, 'application/json')
161
+ http_response = @sdk_configuration.hooks.after_success(
162
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
163
+ hook_ctx: hook_ctx
164
+ ),
165
+ response: http_response
166
+ )
167
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
168
+ throw obj
169
+ else
170
+ 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'
171
+ end
172
+ elsif Utils.match_status_code(http_response.status, ['404'])
173
+ if Utils.match_content_type(content_type, 'application/json')
174
+ http_response = @sdk_configuration.hooks.after_success(
175
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
176
+ hook_ctx: hook_ctx
177
+ ),
178
+ response: http_response
179
+ )
180
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
181
+ throw obj
182
+ else
183
+ 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'
184
+ end
185
+ elsif Utils.match_status_code(http_response.status, ['408'])
186
+ if Utils.match_content_type(content_type, 'application/json')
187
+ http_response = @sdk_configuration.hooks.after_success(
188
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
189
+ hook_ctx: hook_ctx
190
+ ),
191
+ response: http_response
192
+ )
193
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
194
+ throw obj
195
+ else
196
+ 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'
197
+ end
198
+ elsif Utils.match_status_code(http_response.status, ['409'])
199
+ if Utils.match_content_type(content_type, 'application/json')
200
+ http_response = @sdk_configuration.hooks.after_success(
201
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
202
+ hook_ctx: hook_ctx
203
+ ),
204
+ response: http_response
205
+ )
206
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
207
+ throw obj
208
+ else
209
+ 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'
210
+ end
211
+ elsif Utils.match_status_code(http_response.status, ['412'])
212
+ if Utils.match_content_type(content_type, 'application/json')
213
+ http_response = @sdk_configuration.hooks.after_success(
214
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
215
+ hook_ctx: hook_ctx
216
+ ),
217
+ response: http_response
218
+ )
219
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
220
+ throw obj
221
+ else
222
+ 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'
223
+ end
224
+ elsif Utils.match_status_code(http_response.status, ['422'])
225
+ if Utils.match_content_type(content_type, 'application/json')
226
+ http_response = @sdk_configuration.hooks.after_success(
227
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
228
+ hook_ctx: hook_ctx
229
+ ),
230
+ response: http_response
231
+ )
232
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
233
+ throw obj
234
+ else
235
+ 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'
236
+ end
237
+ elsif Utils.match_status_code(http_response.status, ['429'])
238
+ if Utils.match_content_type(content_type, 'application/json')
239
+ http_response = @sdk_configuration.hooks.after_success(
240
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
241
+ hook_ctx: hook_ctx
242
+ ),
243
+ response: http_response
244
+ )
245
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
246
+ throw obj
247
+ else
248
+ 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'
249
+ end
250
+ elsif Utils.match_status_code(http_response.status, ['500'])
251
+ if Utils.match_content_type(content_type, 'application/json')
252
+ http_response = @sdk_configuration.hooks.after_success(
253
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
254
+ hook_ctx: hook_ctx
255
+ ),
256
+ response: http_response
257
+ )
258
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
259
+ throw obj
260
+ else
261
+ 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'
262
+ end
263
+ elsif Utils.match_status_code(http_response.status, ['501'])
264
+ if Utils.match_content_type(content_type, 'application/json')
265
+ http_response = @sdk_configuration.hooks.after_success(
266
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
267
+ hook_ctx: hook_ctx
268
+ ),
269
+ response: http_response
270
+ )
271
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
272
+ throw obj
273
+ else
274
+ 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'
275
+ end
276
+ elsif Utils.match_status_code(http_response.status, ['502'])
277
+ if Utils.match_content_type(content_type, 'application/json')
278
+ http_response = @sdk_configuration.hooks.after_success(
279
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
280
+ hook_ctx: hook_ctx
281
+ ),
282
+ response: http_response
283
+ )
284
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
285
+ throw obj
286
+ else
287
+ 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'
288
+ end
289
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
290
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
291
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
292
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
293
+ else
294
+ 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'
295
+
296
+ end
297
+ end
298
+
299
+
300
+ sig { params(request: T.nilable(Models::Operations::DocumentsGetDriveRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsGetDriveResponse) }
301
+ def get_drive(request, retries = nil, timeout_ms = nil)
302
+ # get_drive - Get Drive
303
+ url, params = @sdk_configuration.get_server_details
304
+ base_url = Utils.template_url(url, params)
305
+ url = Utils.generate_url(
306
+ Models::Operations::DocumentsGetDriveRequest,
307
+ base_url,
308
+ '/unified/documents/drives/{id}',
309
+ request
310
+ )
311
+ headers = Utils.get_headers(request)
312
+ query_params = Utils.get_query_params(Models::Operations::DocumentsGetDriveRequest, request)
313
+ headers['Accept'] = 'application/json'
314
+ headers['user-agent'] = @sdk_configuration.user_agent
315
+ retries ||= @sdk_configuration.retry_config
316
+ retries ||= Utils::RetryConfig.new(
317
+ backoff: Utils::BackoffStrategy.new(
318
+ exponent: 1.5,
319
+ initial_interval: 500,
320
+ max_elapsed_time: 3_600_000,
321
+ max_interval: 60_000
322
+ ),
323
+ retry_connection_errors: true,
324
+ strategy: 'backoff'
325
+ )
326
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
327
+ retry_options[:retry_statuses] = [429, 408]
328
+
329
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
330
+
331
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
332
+ timeout ||= @sdk_configuration.timeout
333
+
334
+ connection = @sdk_configuration.client.dup
335
+ connection.request :retry, retry_options
336
+
337
+ hook_ctx = SDKHooks::HookContext.new(
338
+ base_url: base_url,
339
+ oauth2_scopes: [],
340
+ operation_id: 'documents_get_drive',
341
+ security_source: @sdk_configuration.security_source
342
+ )
343
+
344
+ error = T.let(nil, T.nilable(StandardError))
345
+ http_response = T.let(nil, T.nilable(Faraday::Response))
346
+
347
+
348
+ begin
349
+ http_response = connection.get(url) do |req|
350
+ req.headers.merge!(headers)
351
+ req.options.timeout = timeout unless timeout.nil?
352
+ req.params = query_params
353
+ Utils.configure_request_security(req, security)
354
+
355
+ @sdk_configuration.hooks.before_request(
356
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
357
+ hook_ctx: hook_ctx
358
+ ),
359
+ request: req
360
+ )
361
+ end
362
+ rescue StandardError => e
363
+ error = e
364
+ ensure
365
+ if http_response.nil? || Utils.error_status?(http_response.status)
366
+ http_response = @sdk_configuration.hooks.after_error(
367
+ error: error,
368
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
369
+ hook_ctx: hook_ctx
370
+ ),
371
+ response: http_response
372
+ )
373
+ else
374
+ http_response = @sdk_configuration.hooks.after_success(
375
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
376
+ hook_ctx: hook_ctx
377
+ ),
378
+ response: http_response
379
+ )
380
+ end
381
+
382
+ if http_response.nil?
383
+ raise error if !error.nil?
384
+ raise 'no response'
385
+ end
386
+ end
387
+
388
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
389
+ if Utils.match_status_code(http_response.status, ['200'])
390
+ if Utils.match_content_type(content_type, 'application/json')
391
+ http_response = @sdk_configuration.hooks.after_success(
392
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
393
+ hook_ctx: hook_ctx
394
+ ),
395
+ response: http_response
396
+ )
397
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::DriveResult)
398
+ response = Models::Operations::DocumentsGetDriveResponse.new(
399
+ status_code: http_response.status,
400
+ content_type: content_type,
401
+ raw_response: http_response,
402
+ drive_result: obj
403
+ )
404
+
405
+ return response
406
+ else
407
+ 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'
408
+ end
409
+ elsif Utils.match_status_code(http_response.status, ['400'])
410
+ if Utils.match_content_type(content_type, 'application/json')
411
+ http_response = @sdk_configuration.hooks.after_success(
412
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
413
+ hook_ctx: hook_ctx
414
+ ),
415
+ response: http_response
416
+ )
417
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
418
+ throw obj
419
+ else
420
+ 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'
421
+ end
422
+ elsif Utils.match_status_code(http_response.status, ['401'])
423
+ if Utils.match_content_type(content_type, 'application/json')
424
+ http_response = @sdk_configuration.hooks.after_success(
425
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
426
+ hook_ctx: hook_ctx
427
+ ),
428
+ response: http_response
429
+ )
430
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
431
+ throw obj
432
+ else
433
+ 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'
434
+ end
435
+ elsif Utils.match_status_code(http_response.status, ['403'])
436
+ if Utils.match_content_type(content_type, 'application/json')
437
+ http_response = @sdk_configuration.hooks.after_success(
438
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
439
+ hook_ctx: hook_ctx
440
+ ),
441
+ response: http_response
442
+ )
443
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
444
+ throw obj
445
+ else
446
+ 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'
447
+ end
448
+ elsif Utils.match_status_code(http_response.status, ['404'])
449
+ if Utils.match_content_type(content_type, 'application/json')
450
+ http_response = @sdk_configuration.hooks.after_success(
451
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
452
+ hook_ctx: hook_ctx
453
+ ),
454
+ response: http_response
455
+ )
456
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
457
+ throw obj
458
+ else
459
+ 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'
460
+ end
461
+ elsif Utils.match_status_code(http_response.status, ['408'])
462
+ if Utils.match_content_type(content_type, 'application/json')
463
+ http_response = @sdk_configuration.hooks.after_success(
464
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
465
+ hook_ctx: hook_ctx
466
+ ),
467
+ response: http_response
468
+ )
469
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
470
+ throw obj
471
+ else
472
+ 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'
473
+ end
474
+ elsif Utils.match_status_code(http_response.status, ['409'])
475
+ if Utils.match_content_type(content_type, 'application/json')
476
+ http_response = @sdk_configuration.hooks.after_success(
477
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
478
+ hook_ctx: hook_ctx
479
+ ),
480
+ response: http_response
481
+ )
482
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
483
+ throw obj
484
+ else
485
+ 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'
486
+ end
487
+ elsif Utils.match_status_code(http_response.status, ['412'])
488
+ if Utils.match_content_type(content_type, 'application/json')
489
+ http_response = @sdk_configuration.hooks.after_success(
490
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
491
+ hook_ctx: hook_ctx
492
+ ),
493
+ response: http_response
494
+ )
495
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
496
+ throw obj
497
+ else
498
+ 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'
499
+ end
500
+ elsif Utils.match_status_code(http_response.status, ['422'])
501
+ if Utils.match_content_type(content_type, 'application/json')
502
+ http_response = @sdk_configuration.hooks.after_success(
503
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
504
+ hook_ctx: hook_ctx
505
+ ),
506
+ response: http_response
507
+ )
508
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
509
+ throw obj
510
+ else
511
+ 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'
512
+ end
513
+ elsif Utils.match_status_code(http_response.status, ['429'])
514
+ if Utils.match_content_type(content_type, 'application/json')
515
+ http_response = @sdk_configuration.hooks.after_success(
516
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
517
+ hook_ctx: hook_ctx
518
+ ),
519
+ response: http_response
520
+ )
521
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
522
+ throw obj
523
+ else
524
+ 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'
525
+ end
526
+ elsif Utils.match_status_code(http_response.status, ['500'])
527
+ if Utils.match_content_type(content_type, 'application/json')
528
+ http_response = @sdk_configuration.hooks.after_success(
529
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
530
+ hook_ctx: hook_ctx
531
+ ),
532
+ response: http_response
533
+ )
534
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
535
+ throw obj
536
+ else
537
+ 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'
538
+ end
539
+ elsif Utils.match_status_code(http_response.status, ['501'])
540
+ if Utils.match_content_type(content_type, 'application/json')
541
+ http_response = @sdk_configuration.hooks.after_success(
542
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
543
+ hook_ctx: hook_ctx
544
+ ),
545
+ response: http_response
546
+ )
547
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
548
+ throw obj
549
+ else
550
+ 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'
551
+ end
552
+ elsif Utils.match_status_code(http_response.status, ['502'])
553
+ if Utils.match_content_type(content_type, 'application/json')
554
+ http_response = @sdk_configuration.hooks.after_success(
555
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
556
+ hook_ctx: hook_ctx
557
+ ),
558
+ response: http_response
559
+ )
560
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
561
+ throw obj
562
+ else
563
+ 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'
564
+ end
565
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
566
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
567
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
568
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
569
+ else
570
+ 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'
571
+
572
+ end
573
+ end
574
+
575
+
576
+ sig { params(request: T.nilable(Models::Operations::DocumentsGetFileRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsGetFileResponse) }
577
+ def get_file(request, retries = nil, timeout_ms = nil)
578
+ # get_file - Get File
579
+ url, params = @sdk_configuration.get_server_details
580
+ base_url = Utils.template_url(url, params)
581
+ url = Utils.generate_url(
582
+ Models::Operations::DocumentsGetFileRequest,
583
+ base_url,
584
+ '/unified/documents/files/{id}',
585
+ request
586
+ )
587
+ headers = Utils.get_headers(request)
588
+ query_params = Utils.get_query_params(Models::Operations::DocumentsGetFileRequest, request)
589
+ headers['Accept'] = 'application/json'
590
+ headers['user-agent'] = @sdk_configuration.user_agent
591
+ retries ||= @sdk_configuration.retry_config
592
+ retries ||= Utils::RetryConfig.new(
593
+ backoff: Utils::BackoffStrategy.new(
594
+ exponent: 1.5,
595
+ initial_interval: 500,
596
+ max_elapsed_time: 3_600_000,
597
+ max_interval: 60_000
598
+ ),
599
+ retry_connection_errors: true,
600
+ strategy: 'backoff'
601
+ )
602
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
603
+ retry_options[:retry_statuses] = [429, 408]
604
+
605
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
606
+
607
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
608
+ timeout ||= @sdk_configuration.timeout
609
+
610
+ connection = @sdk_configuration.client.dup
611
+ connection.request :retry, retry_options
612
+
613
+ hook_ctx = SDKHooks::HookContext.new(
614
+ base_url: base_url,
615
+ oauth2_scopes: [],
616
+ operation_id: 'documents_get_file',
617
+ security_source: @sdk_configuration.security_source
618
+ )
619
+
620
+ error = T.let(nil, T.nilable(StandardError))
621
+ http_response = T.let(nil, T.nilable(Faraday::Response))
622
+
623
+
624
+ begin
625
+ http_response = connection.get(url) do |req|
626
+ req.headers.merge!(headers)
627
+ req.options.timeout = timeout unless timeout.nil?
628
+ req.params = query_params
629
+ Utils.configure_request_security(req, security)
630
+
631
+ @sdk_configuration.hooks.before_request(
632
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
633
+ hook_ctx: hook_ctx
634
+ ),
635
+ request: req
636
+ )
637
+ end
638
+ rescue StandardError => e
639
+ error = e
640
+ ensure
641
+ if http_response.nil? || Utils.error_status?(http_response.status)
642
+ http_response = @sdk_configuration.hooks.after_error(
643
+ error: error,
644
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
645
+ hook_ctx: hook_ctx
646
+ ),
647
+ response: http_response
648
+ )
649
+ else
650
+ http_response = @sdk_configuration.hooks.after_success(
651
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
652
+ hook_ctx: hook_ctx
653
+ ),
654
+ response: http_response
655
+ )
656
+ end
657
+
658
+ if http_response.nil?
659
+ raise error if !error.nil?
660
+ raise 'no response'
661
+ end
662
+ end
663
+
664
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
665
+ if Utils.match_status_code(http_response.status, ['200'])
666
+ if Utils.match_content_type(content_type, 'application/json')
667
+ http_response = @sdk_configuration.hooks.after_success(
668
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
669
+ hook_ctx: hook_ctx
670
+ ),
671
+ response: http_response
672
+ )
673
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::FileResult)
674
+ response = Models::Operations::DocumentsGetFileResponse.new(
675
+ status_code: http_response.status,
676
+ content_type: content_type,
677
+ raw_response: http_response,
678
+ file_result: obj
679
+ )
680
+
681
+ return response
682
+ else
683
+ 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'
684
+ end
685
+ elsif Utils.match_status_code(http_response.status, ['400'])
686
+ if Utils.match_content_type(content_type, 'application/json')
687
+ http_response = @sdk_configuration.hooks.after_success(
688
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
689
+ hook_ctx: hook_ctx
690
+ ),
691
+ response: http_response
692
+ )
693
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
694
+ throw obj
695
+ else
696
+ 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'
697
+ end
698
+ elsif Utils.match_status_code(http_response.status, ['401'])
699
+ if Utils.match_content_type(content_type, 'application/json')
700
+ http_response = @sdk_configuration.hooks.after_success(
701
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
702
+ hook_ctx: hook_ctx
703
+ ),
704
+ response: http_response
705
+ )
706
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
707
+ throw obj
708
+ else
709
+ 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'
710
+ end
711
+ elsif Utils.match_status_code(http_response.status, ['403'])
712
+ if Utils.match_content_type(content_type, 'application/json')
713
+ http_response = @sdk_configuration.hooks.after_success(
714
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
715
+ hook_ctx: hook_ctx
716
+ ),
717
+ response: http_response
718
+ )
719
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
720
+ throw obj
721
+ else
722
+ 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'
723
+ end
724
+ elsif Utils.match_status_code(http_response.status, ['404'])
725
+ if Utils.match_content_type(content_type, 'application/json')
726
+ http_response = @sdk_configuration.hooks.after_success(
727
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
728
+ hook_ctx: hook_ctx
729
+ ),
730
+ response: http_response
731
+ )
732
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
733
+ throw obj
734
+ else
735
+ 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'
736
+ end
737
+ elsif Utils.match_status_code(http_response.status, ['408'])
738
+ if Utils.match_content_type(content_type, 'application/json')
739
+ http_response = @sdk_configuration.hooks.after_success(
740
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
741
+ hook_ctx: hook_ctx
742
+ ),
743
+ response: http_response
744
+ )
745
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
746
+ throw obj
747
+ else
748
+ 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'
749
+ end
750
+ elsif Utils.match_status_code(http_response.status, ['409'])
751
+ if Utils.match_content_type(content_type, 'application/json')
752
+ http_response = @sdk_configuration.hooks.after_success(
753
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
754
+ hook_ctx: hook_ctx
755
+ ),
756
+ response: http_response
757
+ )
758
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
759
+ throw obj
760
+ else
761
+ 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'
762
+ end
763
+ elsif Utils.match_status_code(http_response.status, ['412'])
764
+ if Utils.match_content_type(content_type, 'application/json')
765
+ http_response = @sdk_configuration.hooks.after_success(
766
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
767
+ hook_ctx: hook_ctx
768
+ ),
769
+ response: http_response
770
+ )
771
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
772
+ throw obj
773
+ else
774
+ 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'
775
+ end
776
+ elsif Utils.match_status_code(http_response.status, ['422'])
777
+ if Utils.match_content_type(content_type, 'application/json')
778
+ http_response = @sdk_configuration.hooks.after_success(
779
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
780
+ hook_ctx: hook_ctx
781
+ ),
782
+ response: http_response
783
+ )
784
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
785
+ throw obj
786
+ else
787
+ 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'
788
+ end
789
+ elsif Utils.match_status_code(http_response.status, ['429'])
790
+ if Utils.match_content_type(content_type, 'application/json')
791
+ http_response = @sdk_configuration.hooks.after_success(
792
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
793
+ hook_ctx: hook_ctx
794
+ ),
795
+ response: http_response
796
+ )
797
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
798
+ throw obj
799
+ else
800
+ 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'
801
+ end
802
+ elsif Utils.match_status_code(http_response.status, ['500'])
803
+ if Utils.match_content_type(content_type, 'application/json')
804
+ http_response = @sdk_configuration.hooks.after_success(
805
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
806
+ hook_ctx: hook_ctx
807
+ ),
808
+ response: http_response
809
+ )
810
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
811
+ throw obj
812
+ else
813
+ 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'
814
+ end
815
+ elsif Utils.match_status_code(http_response.status, ['501'])
816
+ if Utils.match_content_type(content_type, 'application/json')
817
+ http_response = @sdk_configuration.hooks.after_success(
818
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
819
+ hook_ctx: hook_ctx
820
+ ),
821
+ response: http_response
822
+ )
823
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
824
+ throw obj
825
+ else
826
+ 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'
827
+ end
828
+ elsif Utils.match_status_code(http_response.status, ['502'])
829
+ if Utils.match_content_type(content_type, 'application/json')
830
+ http_response = @sdk_configuration.hooks.after_success(
831
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
832
+ hook_ctx: hook_ctx
833
+ ),
834
+ response: http_response
835
+ )
836
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
837
+ throw obj
838
+ else
839
+ 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'
840
+ end
841
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
842
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
843
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
844
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
845
+ else
846
+ 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'
847
+
848
+ end
849
+ end
850
+
851
+
852
+ sig { params(request: T.nilable(Models::Operations::DocumentsGetFolderRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsGetFolderResponse) }
853
+ def get_folder(request, retries = nil, timeout_ms = nil)
854
+ # get_folder - Get Folder
855
+ url, params = @sdk_configuration.get_server_details
856
+ base_url = Utils.template_url(url, params)
857
+ url = Utils.generate_url(
858
+ Models::Operations::DocumentsGetFolderRequest,
859
+ base_url,
860
+ '/unified/documents/folders/{id}',
861
+ request
862
+ )
863
+ headers = Utils.get_headers(request)
864
+ query_params = Utils.get_query_params(Models::Operations::DocumentsGetFolderRequest, request)
865
+ headers['Accept'] = 'application/json'
866
+ headers['user-agent'] = @sdk_configuration.user_agent
867
+ retries ||= @sdk_configuration.retry_config
868
+ retries ||= Utils::RetryConfig.new(
869
+ backoff: Utils::BackoffStrategy.new(
870
+ exponent: 1.5,
871
+ initial_interval: 500,
872
+ max_elapsed_time: 3_600_000,
873
+ max_interval: 60_000
874
+ ),
875
+ retry_connection_errors: true,
876
+ strategy: 'backoff'
877
+ )
878
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
879
+ retry_options[:retry_statuses] = [429, 408]
880
+
881
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
882
+
883
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
884
+ timeout ||= @sdk_configuration.timeout
885
+
886
+ connection = @sdk_configuration.client.dup
887
+ connection.request :retry, retry_options
888
+
889
+ hook_ctx = SDKHooks::HookContext.new(
890
+ base_url: base_url,
891
+ oauth2_scopes: [],
892
+ operation_id: 'documents_get_folder',
893
+ security_source: @sdk_configuration.security_source
894
+ )
895
+
896
+ error = T.let(nil, T.nilable(StandardError))
897
+ http_response = T.let(nil, T.nilable(Faraday::Response))
898
+
899
+
900
+ begin
901
+ http_response = connection.get(url) do |req|
902
+ req.headers.merge!(headers)
903
+ req.options.timeout = timeout unless timeout.nil?
904
+ req.params = query_params
905
+ Utils.configure_request_security(req, security)
906
+
907
+ @sdk_configuration.hooks.before_request(
908
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
909
+ hook_ctx: hook_ctx
910
+ ),
911
+ request: req
912
+ )
913
+ end
914
+ rescue StandardError => e
915
+ error = e
916
+ ensure
917
+ if http_response.nil? || Utils.error_status?(http_response.status)
918
+ http_response = @sdk_configuration.hooks.after_error(
919
+ error: error,
920
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
921
+ hook_ctx: hook_ctx
922
+ ),
923
+ response: http_response
924
+ )
925
+ else
926
+ http_response = @sdk_configuration.hooks.after_success(
927
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
928
+ hook_ctx: hook_ctx
929
+ ),
930
+ response: http_response
931
+ )
932
+ end
933
+
934
+ if http_response.nil?
935
+ raise error if !error.nil?
936
+ raise 'no response'
937
+ end
938
+ end
939
+
940
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
941
+ if Utils.match_status_code(http_response.status, ['200'])
942
+ if Utils.match_content_type(content_type, 'application/json')
943
+ http_response = @sdk_configuration.hooks.after_success(
944
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
945
+ hook_ctx: hook_ctx
946
+ ),
947
+ response: http_response
948
+ )
949
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::FolderResult)
950
+ response = Models::Operations::DocumentsGetFolderResponse.new(
951
+ status_code: http_response.status,
952
+ content_type: content_type,
953
+ raw_response: http_response,
954
+ folder_result: obj
955
+ )
956
+
957
+ return response
958
+ else
959
+ 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'
960
+ end
961
+ elsif Utils.match_status_code(http_response.status, ['400'])
962
+ if Utils.match_content_type(content_type, 'application/json')
963
+ http_response = @sdk_configuration.hooks.after_success(
964
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
965
+ hook_ctx: hook_ctx
966
+ ),
967
+ response: http_response
968
+ )
969
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
970
+ throw obj
971
+ else
972
+ 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'
973
+ end
974
+ elsif Utils.match_status_code(http_response.status, ['401'])
975
+ if Utils.match_content_type(content_type, 'application/json')
976
+ http_response = @sdk_configuration.hooks.after_success(
977
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
978
+ hook_ctx: hook_ctx
979
+ ),
980
+ response: http_response
981
+ )
982
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
983
+ throw obj
984
+ else
985
+ 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'
986
+ end
987
+ elsif Utils.match_status_code(http_response.status, ['403'])
988
+ if Utils.match_content_type(content_type, 'application/json')
989
+ http_response = @sdk_configuration.hooks.after_success(
990
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
991
+ hook_ctx: hook_ctx
992
+ ),
993
+ response: http_response
994
+ )
995
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
996
+ throw obj
997
+ else
998
+ 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'
999
+ end
1000
+ elsif Utils.match_status_code(http_response.status, ['404'])
1001
+ if Utils.match_content_type(content_type, 'application/json')
1002
+ http_response = @sdk_configuration.hooks.after_success(
1003
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1004
+ hook_ctx: hook_ctx
1005
+ ),
1006
+ response: http_response
1007
+ )
1008
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1009
+ throw obj
1010
+ else
1011
+ 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'
1012
+ end
1013
+ elsif Utils.match_status_code(http_response.status, ['408'])
1014
+ if Utils.match_content_type(content_type, 'application/json')
1015
+ http_response = @sdk_configuration.hooks.after_success(
1016
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1017
+ hook_ctx: hook_ctx
1018
+ ),
1019
+ response: http_response
1020
+ )
1021
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1022
+ throw obj
1023
+ else
1024
+ 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'
1025
+ end
1026
+ elsif Utils.match_status_code(http_response.status, ['409'])
1027
+ if Utils.match_content_type(content_type, 'application/json')
1028
+ http_response = @sdk_configuration.hooks.after_success(
1029
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1030
+ hook_ctx: hook_ctx
1031
+ ),
1032
+ response: http_response
1033
+ )
1034
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1035
+ throw obj
1036
+ else
1037
+ 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'
1038
+ end
1039
+ elsif Utils.match_status_code(http_response.status, ['412'])
1040
+ if Utils.match_content_type(content_type, 'application/json')
1041
+ http_response = @sdk_configuration.hooks.after_success(
1042
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1043
+ hook_ctx: hook_ctx
1044
+ ),
1045
+ response: http_response
1046
+ )
1047
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1048
+ throw obj
1049
+ else
1050
+ 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'
1051
+ end
1052
+ elsif Utils.match_status_code(http_response.status, ['422'])
1053
+ if Utils.match_content_type(content_type, 'application/json')
1054
+ http_response = @sdk_configuration.hooks.after_success(
1055
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1056
+ hook_ctx: hook_ctx
1057
+ ),
1058
+ response: http_response
1059
+ )
1060
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1061
+ throw obj
1062
+ else
1063
+ 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'
1064
+ end
1065
+ elsif Utils.match_status_code(http_response.status, ['429'])
1066
+ if Utils.match_content_type(content_type, 'application/json')
1067
+ http_response = @sdk_configuration.hooks.after_success(
1068
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1069
+ hook_ctx: hook_ctx
1070
+ ),
1071
+ response: http_response
1072
+ )
1073
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1074
+ throw obj
1075
+ else
1076
+ 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'
1077
+ end
1078
+ elsif Utils.match_status_code(http_response.status, ['500'])
1079
+ if Utils.match_content_type(content_type, 'application/json')
1080
+ http_response = @sdk_configuration.hooks.after_success(
1081
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1082
+ hook_ctx: hook_ctx
1083
+ ),
1084
+ response: http_response
1085
+ )
1086
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1087
+ throw obj
1088
+ else
1089
+ 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'
1090
+ end
1091
+ elsif Utils.match_status_code(http_response.status, ['501'])
1092
+ if Utils.match_content_type(content_type, 'application/json')
1093
+ http_response = @sdk_configuration.hooks.after_success(
1094
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1095
+ hook_ctx: hook_ctx
1096
+ ),
1097
+ response: http_response
1098
+ )
1099
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1100
+ throw obj
1101
+ else
1102
+ 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'
1103
+ end
1104
+ elsif Utils.match_status_code(http_response.status, ['502'])
1105
+ if Utils.match_content_type(content_type, 'application/json')
1106
+ http_response = @sdk_configuration.hooks.after_success(
1107
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1108
+ hook_ctx: hook_ctx
1109
+ ),
1110
+ response: http_response
1111
+ )
1112
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1113
+ throw obj
1114
+ else
1115
+ 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'
1116
+ end
1117
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1118
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1119
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1120
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1121
+ else
1122
+ 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'
1123
+
1124
+ end
1125
+ end
1126
+
1127
+
1128
+ sig { params(request: T.nilable(Models::Operations::DocumentsListDrivesRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsListDrivesResponse) }
1129
+ def list_drives(request, retries = nil, timeout_ms = nil)
1130
+ # list_drives - List Drives
1131
+ url, params = @sdk_configuration.get_server_details
1132
+ base_url = Utils.template_url(url, params)
1133
+ url = "#{base_url}/unified/documents/drives"
1134
+ headers = Utils.get_headers(request)
1135
+ query_params = Utils.get_query_params(Models::Operations::DocumentsListDrivesRequest, request)
1136
+ headers['Accept'] = 'application/json'
1137
+ headers['user-agent'] = @sdk_configuration.user_agent
1138
+ retries ||= @sdk_configuration.retry_config
1139
+ retries ||= Utils::RetryConfig.new(
1140
+ backoff: Utils::BackoffStrategy.new(
1141
+ exponent: 1.5,
1142
+ initial_interval: 500,
1143
+ max_elapsed_time: 3_600_000,
1144
+ max_interval: 60_000
1145
+ ),
1146
+ retry_connection_errors: true,
1147
+ strategy: 'backoff'
1148
+ )
1149
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1150
+ retry_options[:retry_statuses] = [429, 408]
1151
+
1152
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1153
+
1154
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1155
+ timeout ||= @sdk_configuration.timeout
1156
+
1157
+ connection = @sdk_configuration.client.dup
1158
+ connection.request :retry, retry_options
1159
+
1160
+ hook_ctx = SDKHooks::HookContext.new(
1161
+ base_url: base_url,
1162
+ oauth2_scopes: [],
1163
+ operation_id: 'documents_list_drives',
1164
+ security_source: @sdk_configuration.security_source
1165
+ )
1166
+
1167
+ error = T.let(nil, T.nilable(StandardError))
1168
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1169
+
1170
+
1171
+ begin
1172
+ http_response = connection.get(url) do |req|
1173
+ req.headers.merge!(headers)
1174
+ req.options.timeout = timeout unless timeout.nil?
1175
+ req.params = query_params
1176
+ Utils.configure_request_security(req, security)
1177
+
1178
+ @sdk_configuration.hooks.before_request(
1179
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1180
+ hook_ctx: hook_ctx
1181
+ ),
1182
+ request: req
1183
+ )
1184
+ end
1185
+ rescue StandardError => e
1186
+ error = e
1187
+ ensure
1188
+ if http_response.nil? || Utils.error_status?(http_response.status)
1189
+ http_response = @sdk_configuration.hooks.after_error(
1190
+ error: error,
1191
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1192
+ hook_ctx: hook_ctx
1193
+ ),
1194
+ response: http_response
1195
+ )
1196
+ else
1197
+ http_response = @sdk_configuration.hooks.after_success(
1198
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1199
+ hook_ctx: hook_ctx
1200
+ ),
1201
+ response: http_response
1202
+ )
1203
+ end
1204
+
1205
+ if http_response.nil?
1206
+ raise error if !error.nil?
1207
+ raise 'no response'
1208
+ end
1209
+ end
1210
+
1211
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1212
+ if Utils.match_status_code(http_response.status, ['200'])
1213
+ if Utils.match_content_type(content_type, 'application/json')
1214
+ http_response = @sdk_configuration.hooks.after_success(
1215
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1216
+ hook_ctx: hook_ctx
1217
+ ),
1218
+ response: http_response
1219
+ )
1220
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::DrivesPaginated)
1221
+ response = Models::Operations::DocumentsListDrivesResponse.new(
1222
+ status_code: http_response.status,
1223
+ content_type: content_type,
1224
+ raw_response: http_response,
1225
+ drives_paginated: obj
1226
+ )
1227
+
1228
+ return response
1229
+ else
1230
+ 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'
1231
+ end
1232
+ elsif Utils.match_status_code(http_response.status, ['400'])
1233
+ if Utils.match_content_type(content_type, 'application/json')
1234
+ http_response = @sdk_configuration.hooks.after_success(
1235
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1236
+ hook_ctx: hook_ctx
1237
+ ),
1238
+ response: http_response
1239
+ )
1240
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1241
+ throw obj
1242
+ else
1243
+ 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'
1244
+ end
1245
+ elsif Utils.match_status_code(http_response.status, ['401'])
1246
+ if Utils.match_content_type(content_type, 'application/json')
1247
+ http_response = @sdk_configuration.hooks.after_success(
1248
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1249
+ hook_ctx: hook_ctx
1250
+ ),
1251
+ response: http_response
1252
+ )
1253
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1254
+ throw obj
1255
+ else
1256
+ 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'
1257
+ end
1258
+ elsif Utils.match_status_code(http_response.status, ['403'])
1259
+ if Utils.match_content_type(content_type, 'application/json')
1260
+ http_response = @sdk_configuration.hooks.after_success(
1261
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1262
+ hook_ctx: hook_ctx
1263
+ ),
1264
+ response: http_response
1265
+ )
1266
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1267
+ throw obj
1268
+ else
1269
+ 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'
1270
+ end
1271
+ elsif Utils.match_status_code(http_response.status, ['404'])
1272
+ if Utils.match_content_type(content_type, 'application/json')
1273
+ http_response = @sdk_configuration.hooks.after_success(
1274
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1275
+ hook_ctx: hook_ctx
1276
+ ),
1277
+ response: http_response
1278
+ )
1279
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1280
+ throw obj
1281
+ else
1282
+ 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'
1283
+ end
1284
+ elsif Utils.match_status_code(http_response.status, ['408'])
1285
+ if Utils.match_content_type(content_type, 'application/json')
1286
+ http_response = @sdk_configuration.hooks.after_success(
1287
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1288
+ hook_ctx: hook_ctx
1289
+ ),
1290
+ response: http_response
1291
+ )
1292
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1293
+ throw obj
1294
+ else
1295
+ 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'
1296
+ end
1297
+ elsif Utils.match_status_code(http_response.status, ['409'])
1298
+ if Utils.match_content_type(content_type, 'application/json')
1299
+ http_response = @sdk_configuration.hooks.after_success(
1300
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1301
+ hook_ctx: hook_ctx
1302
+ ),
1303
+ response: http_response
1304
+ )
1305
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1306
+ throw obj
1307
+ else
1308
+ 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'
1309
+ end
1310
+ elsif Utils.match_status_code(http_response.status, ['412'])
1311
+ if Utils.match_content_type(content_type, 'application/json')
1312
+ http_response = @sdk_configuration.hooks.after_success(
1313
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1314
+ hook_ctx: hook_ctx
1315
+ ),
1316
+ response: http_response
1317
+ )
1318
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1319
+ throw obj
1320
+ else
1321
+ 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'
1322
+ end
1323
+ elsif Utils.match_status_code(http_response.status, ['422'])
1324
+ if Utils.match_content_type(content_type, 'application/json')
1325
+ http_response = @sdk_configuration.hooks.after_success(
1326
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1327
+ hook_ctx: hook_ctx
1328
+ ),
1329
+ response: http_response
1330
+ )
1331
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1332
+ throw obj
1333
+ else
1334
+ 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'
1335
+ end
1336
+ elsif Utils.match_status_code(http_response.status, ['429'])
1337
+ if Utils.match_content_type(content_type, 'application/json')
1338
+ http_response = @sdk_configuration.hooks.after_success(
1339
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1340
+ hook_ctx: hook_ctx
1341
+ ),
1342
+ response: http_response
1343
+ )
1344
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1345
+ throw obj
1346
+ else
1347
+ 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'
1348
+ end
1349
+ elsif Utils.match_status_code(http_response.status, ['500'])
1350
+ if Utils.match_content_type(content_type, 'application/json')
1351
+ http_response = @sdk_configuration.hooks.after_success(
1352
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1353
+ hook_ctx: hook_ctx
1354
+ ),
1355
+ response: http_response
1356
+ )
1357
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1358
+ throw obj
1359
+ else
1360
+ 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'
1361
+ end
1362
+ elsif Utils.match_status_code(http_response.status, ['501'])
1363
+ if Utils.match_content_type(content_type, 'application/json')
1364
+ http_response = @sdk_configuration.hooks.after_success(
1365
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1366
+ hook_ctx: hook_ctx
1367
+ ),
1368
+ response: http_response
1369
+ )
1370
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1371
+ throw obj
1372
+ else
1373
+ 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'
1374
+ end
1375
+ elsif Utils.match_status_code(http_response.status, ['502'])
1376
+ if Utils.match_content_type(content_type, 'application/json')
1377
+ http_response = @sdk_configuration.hooks.after_success(
1378
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1379
+ hook_ctx: hook_ctx
1380
+ ),
1381
+ response: http_response
1382
+ )
1383
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1384
+ throw obj
1385
+ else
1386
+ 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'
1387
+ end
1388
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1389
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1390
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1391
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1392
+ else
1393
+ 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'
1394
+
1395
+ end
1396
+ end
1397
+
1398
+
1399
+ sig { params(request: T.nilable(Models::Operations::DocumentsListFilesRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsListFilesResponse) }
1400
+ def list_files(request, retries = nil, timeout_ms = nil)
1401
+ # list_files - List Files
1402
+ url, params = @sdk_configuration.get_server_details
1403
+ base_url = Utils.template_url(url, params)
1404
+ url = "#{base_url}/unified/documents/files"
1405
+ headers = Utils.get_headers(request)
1406
+ query_params = Utils.get_query_params(Models::Operations::DocumentsListFilesRequest, request)
1407
+ headers['Accept'] = 'application/json'
1408
+ headers['user-agent'] = @sdk_configuration.user_agent
1409
+ retries ||= @sdk_configuration.retry_config
1410
+ retries ||= Utils::RetryConfig.new(
1411
+ backoff: Utils::BackoffStrategy.new(
1412
+ exponent: 1.5,
1413
+ initial_interval: 500,
1414
+ max_elapsed_time: 3_600_000,
1415
+ max_interval: 60_000
1416
+ ),
1417
+ retry_connection_errors: true,
1418
+ strategy: 'backoff'
1419
+ )
1420
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1421
+ retry_options[:retry_statuses] = [429, 408]
1422
+
1423
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1424
+
1425
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1426
+ timeout ||= @sdk_configuration.timeout
1427
+
1428
+ connection = @sdk_configuration.client.dup
1429
+ connection.request :retry, retry_options
1430
+
1431
+ hook_ctx = SDKHooks::HookContext.new(
1432
+ base_url: base_url,
1433
+ oauth2_scopes: [],
1434
+ operation_id: 'documents_list_files',
1435
+ security_source: @sdk_configuration.security_source
1436
+ )
1437
+
1438
+ error = T.let(nil, T.nilable(StandardError))
1439
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1440
+
1441
+
1442
+ begin
1443
+ http_response = connection.get(url) do |req|
1444
+ req.headers.merge!(headers)
1445
+ req.options.timeout = timeout unless timeout.nil?
1446
+ req.params = query_params
1447
+ Utils.configure_request_security(req, security)
1448
+
1449
+ @sdk_configuration.hooks.before_request(
1450
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1451
+ hook_ctx: hook_ctx
1452
+ ),
1453
+ request: req
1454
+ )
1455
+ end
1456
+ rescue StandardError => e
1457
+ error = e
1458
+ ensure
1459
+ if http_response.nil? || Utils.error_status?(http_response.status)
1460
+ http_response = @sdk_configuration.hooks.after_error(
1461
+ error: error,
1462
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1463
+ hook_ctx: hook_ctx
1464
+ ),
1465
+ response: http_response
1466
+ )
1467
+ else
1468
+ http_response = @sdk_configuration.hooks.after_success(
1469
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1470
+ hook_ctx: hook_ctx
1471
+ ),
1472
+ response: http_response
1473
+ )
1474
+ end
1475
+
1476
+ if http_response.nil?
1477
+ raise error if !error.nil?
1478
+ raise 'no response'
1479
+ end
1480
+ end
1481
+
1482
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1483
+ if Utils.match_status_code(http_response.status, ['200'])
1484
+ if Utils.match_content_type(content_type, 'application/json')
1485
+ http_response = @sdk_configuration.hooks.after_success(
1486
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1487
+ hook_ctx: hook_ctx
1488
+ ),
1489
+ response: http_response
1490
+ )
1491
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::FilesPaginated)
1492
+ response = Models::Operations::DocumentsListFilesResponse.new(
1493
+ status_code: http_response.status,
1494
+ content_type: content_type,
1495
+ raw_response: http_response,
1496
+ files_paginated: obj
1497
+ )
1498
+
1499
+ return response
1500
+ else
1501
+ 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'
1502
+ end
1503
+ elsif Utils.match_status_code(http_response.status, ['400'])
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::Errors::BadRequestResponse)
1512
+ throw obj
1513
+ else
1514
+ 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'
1515
+ end
1516
+ elsif Utils.match_status_code(http_response.status, ['401'])
1517
+ if Utils.match_content_type(content_type, 'application/json')
1518
+ http_response = @sdk_configuration.hooks.after_success(
1519
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1520
+ hook_ctx: hook_ctx
1521
+ ),
1522
+ response: http_response
1523
+ )
1524
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1525
+ throw obj
1526
+ else
1527
+ 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'
1528
+ end
1529
+ elsif Utils.match_status_code(http_response.status, ['403'])
1530
+ if Utils.match_content_type(content_type, 'application/json')
1531
+ http_response = @sdk_configuration.hooks.after_success(
1532
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1533
+ hook_ctx: hook_ctx
1534
+ ),
1535
+ response: http_response
1536
+ )
1537
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1538
+ throw obj
1539
+ else
1540
+ 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'
1541
+ end
1542
+ elsif Utils.match_status_code(http_response.status, ['404'])
1543
+ if Utils.match_content_type(content_type, 'application/json')
1544
+ http_response = @sdk_configuration.hooks.after_success(
1545
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1546
+ hook_ctx: hook_ctx
1547
+ ),
1548
+ response: http_response
1549
+ )
1550
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1551
+ throw obj
1552
+ else
1553
+ 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'
1554
+ end
1555
+ elsif Utils.match_status_code(http_response.status, ['408'])
1556
+ if Utils.match_content_type(content_type, 'application/json')
1557
+ http_response = @sdk_configuration.hooks.after_success(
1558
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1559
+ hook_ctx: hook_ctx
1560
+ ),
1561
+ response: http_response
1562
+ )
1563
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1564
+ throw obj
1565
+ else
1566
+ 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'
1567
+ end
1568
+ elsif Utils.match_status_code(http_response.status, ['409'])
1569
+ if Utils.match_content_type(content_type, 'application/json')
1570
+ http_response = @sdk_configuration.hooks.after_success(
1571
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1572
+ hook_ctx: hook_ctx
1573
+ ),
1574
+ response: http_response
1575
+ )
1576
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1577
+ throw obj
1578
+ else
1579
+ 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'
1580
+ end
1581
+ elsif Utils.match_status_code(http_response.status, ['412'])
1582
+ if Utils.match_content_type(content_type, 'application/json')
1583
+ http_response = @sdk_configuration.hooks.after_success(
1584
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1585
+ hook_ctx: hook_ctx
1586
+ ),
1587
+ response: http_response
1588
+ )
1589
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1590
+ throw obj
1591
+ else
1592
+ 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'
1593
+ end
1594
+ elsif Utils.match_status_code(http_response.status, ['422'])
1595
+ if Utils.match_content_type(content_type, 'application/json')
1596
+ http_response = @sdk_configuration.hooks.after_success(
1597
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1598
+ hook_ctx: hook_ctx
1599
+ ),
1600
+ response: http_response
1601
+ )
1602
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1603
+ throw obj
1604
+ else
1605
+ 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'
1606
+ end
1607
+ elsif Utils.match_status_code(http_response.status, ['429'])
1608
+ if Utils.match_content_type(content_type, 'application/json')
1609
+ http_response = @sdk_configuration.hooks.after_success(
1610
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1611
+ hook_ctx: hook_ctx
1612
+ ),
1613
+ response: http_response
1614
+ )
1615
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1616
+ throw obj
1617
+ else
1618
+ 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'
1619
+ end
1620
+ elsif Utils.match_status_code(http_response.status, ['500'])
1621
+ if Utils.match_content_type(content_type, 'application/json')
1622
+ http_response = @sdk_configuration.hooks.after_success(
1623
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1624
+ hook_ctx: hook_ctx
1625
+ ),
1626
+ response: http_response
1627
+ )
1628
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1629
+ throw obj
1630
+ else
1631
+ 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'
1632
+ end
1633
+ elsif Utils.match_status_code(http_response.status, ['501'])
1634
+ if Utils.match_content_type(content_type, 'application/json')
1635
+ http_response = @sdk_configuration.hooks.after_success(
1636
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1637
+ hook_ctx: hook_ctx
1638
+ ),
1639
+ response: http_response
1640
+ )
1641
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1642
+ throw obj
1643
+ else
1644
+ 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'
1645
+ end
1646
+ elsif Utils.match_status_code(http_response.status, ['502'])
1647
+ if Utils.match_content_type(content_type, 'application/json')
1648
+ http_response = @sdk_configuration.hooks.after_success(
1649
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1650
+ hook_ctx: hook_ctx
1651
+ ),
1652
+ response: http_response
1653
+ )
1654
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1655
+ throw obj
1656
+ else
1657
+ 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'
1658
+ end
1659
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1660
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1661
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1662
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
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 status code received'
1665
+
1666
+ end
1667
+ end
1668
+
1669
+
1670
+ sig { params(request: T.nilable(Models::Operations::DocumentsListFoldersRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsListFoldersResponse) }
1671
+ def list_folders(request, retries = nil, timeout_ms = nil)
1672
+ # list_folders - List Folders
1673
+ url, params = @sdk_configuration.get_server_details
1674
+ base_url = Utils.template_url(url, params)
1675
+ url = "#{base_url}/unified/documents/folders"
1676
+ headers = Utils.get_headers(request)
1677
+ query_params = Utils.get_query_params(Models::Operations::DocumentsListFoldersRequest, request)
1678
+ headers['Accept'] = 'application/json'
1679
+ headers['user-agent'] = @sdk_configuration.user_agent
1680
+ retries ||= @sdk_configuration.retry_config
1681
+ retries ||= Utils::RetryConfig.new(
1682
+ backoff: Utils::BackoffStrategy.new(
1683
+ exponent: 1.5,
1684
+ initial_interval: 500,
1685
+ max_elapsed_time: 3_600_000,
1686
+ max_interval: 60_000
1687
+ ),
1688
+ retry_connection_errors: true,
1689
+ strategy: 'backoff'
1690
+ )
1691
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1692
+ retry_options[:retry_statuses] = [429, 408]
1693
+
1694
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1695
+
1696
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1697
+ timeout ||= @sdk_configuration.timeout
1698
+
1699
+ connection = @sdk_configuration.client.dup
1700
+ connection.request :retry, retry_options
1701
+
1702
+ hook_ctx = SDKHooks::HookContext.new(
1703
+ base_url: base_url,
1704
+ oauth2_scopes: [],
1705
+ operation_id: 'documents_list_folders',
1706
+ security_source: @sdk_configuration.security_source
1707
+ )
1708
+
1709
+ error = T.let(nil, T.nilable(StandardError))
1710
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1711
+
1712
+
1713
+ begin
1714
+ http_response = connection.get(url) do |req|
1715
+ req.headers.merge!(headers)
1716
+ req.options.timeout = timeout unless timeout.nil?
1717
+ req.params = query_params
1718
+ Utils.configure_request_security(req, security)
1719
+
1720
+ @sdk_configuration.hooks.before_request(
1721
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1722
+ hook_ctx: hook_ctx
1723
+ ),
1724
+ request: req
1725
+ )
1726
+ end
1727
+ rescue StandardError => e
1728
+ error = e
1729
+ ensure
1730
+ if http_response.nil? || Utils.error_status?(http_response.status)
1731
+ http_response = @sdk_configuration.hooks.after_error(
1732
+ error: error,
1733
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1734
+ hook_ctx: hook_ctx
1735
+ ),
1736
+ response: http_response
1737
+ )
1738
+ else
1739
+ http_response = @sdk_configuration.hooks.after_success(
1740
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1741
+ hook_ctx: hook_ctx
1742
+ ),
1743
+ response: http_response
1744
+ )
1745
+ end
1746
+
1747
+ if http_response.nil?
1748
+ raise error if !error.nil?
1749
+ raise 'no response'
1750
+ end
1751
+ end
1752
+
1753
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1754
+ if Utils.match_status_code(http_response.status, ['200'])
1755
+ if Utils.match_content_type(content_type, 'application/json')
1756
+ http_response = @sdk_configuration.hooks.after_success(
1757
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1758
+ hook_ctx: hook_ctx
1759
+ ),
1760
+ response: http_response
1761
+ )
1762
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::FoldersPaginated)
1763
+ response = Models::Operations::DocumentsListFoldersResponse.new(
1764
+ status_code: http_response.status,
1765
+ content_type: content_type,
1766
+ raw_response: http_response,
1767
+ folders_paginated: obj
1768
+ )
1769
+
1770
+ return response
1771
+ else
1772
+ 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'
1773
+ end
1774
+ elsif Utils.match_status_code(http_response.status, ['400'])
1775
+ if Utils.match_content_type(content_type, 'application/json')
1776
+ http_response = @sdk_configuration.hooks.after_success(
1777
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1778
+ hook_ctx: hook_ctx
1779
+ ),
1780
+ response: http_response
1781
+ )
1782
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1783
+ throw obj
1784
+ else
1785
+ 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'
1786
+ end
1787
+ elsif Utils.match_status_code(http_response.status, ['401'])
1788
+ if Utils.match_content_type(content_type, 'application/json')
1789
+ http_response = @sdk_configuration.hooks.after_success(
1790
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1791
+ hook_ctx: hook_ctx
1792
+ ),
1793
+ response: http_response
1794
+ )
1795
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1796
+ throw obj
1797
+ else
1798
+ 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'
1799
+ end
1800
+ elsif Utils.match_status_code(http_response.status, ['403'])
1801
+ if Utils.match_content_type(content_type, 'application/json')
1802
+ http_response = @sdk_configuration.hooks.after_success(
1803
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1804
+ hook_ctx: hook_ctx
1805
+ ),
1806
+ response: http_response
1807
+ )
1808
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1809
+ throw obj
1810
+ else
1811
+ 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'
1812
+ end
1813
+ elsif Utils.match_status_code(http_response.status, ['404'])
1814
+ if Utils.match_content_type(content_type, 'application/json')
1815
+ http_response = @sdk_configuration.hooks.after_success(
1816
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1817
+ hook_ctx: hook_ctx
1818
+ ),
1819
+ response: http_response
1820
+ )
1821
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1822
+ throw obj
1823
+ else
1824
+ 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'
1825
+ end
1826
+ elsif Utils.match_status_code(http_response.status, ['408'])
1827
+ if Utils.match_content_type(content_type, 'application/json')
1828
+ http_response = @sdk_configuration.hooks.after_success(
1829
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1830
+ hook_ctx: hook_ctx
1831
+ ),
1832
+ response: http_response
1833
+ )
1834
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1835
+ throw obj
1836
+ else
1837
+ 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'
1838
+ end
1839
+ elsif Utils.match_status_code(http_response.status, ['409'])
1840
+ if Utils.match_content_type(content_type, 'application/json')
1841
+ http_response = @sdk_configuration.hooks.after_success(
1842
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1843
+ hook_ctx: hook_ctx
1844
+ ),
1845
+ response: http_response
1846
+ )
1847
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1848
+ throw obj
1849
+ else
1850
+ 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'
1851
+ end
1852
+ elsif Utils.match_status_code(http_response.status, ['412'])
1853
+ if Utils.match_content_type(content_type, 'application/json')
1854
+ http_response = @sdk_configuration.hooks.after_success(
1855
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1856
+ hook_ctx: hook_ctx
1857
+ ),
1858
+ response: http_response
1859
+ )
1860
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1861
+ throw obj
1862
+ else
1863
+ 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'
1864
+ end
1865
+ elsif Utils.match_status_code(http_response.status, ['422'])
1866
+ if Utils.match_content_type(content_type, 'application/json')
1867
+ http_response = @sdk_configuration.hooks.after_success(
1868
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1869
+ hook_ctx: hook_ctx
1870
+ ),
1871
+ response: http_response
1872
+ )
1873
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1874
+ throw obj
1875
+ else
1876
+ 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'
1877
+ end
1878
+ elsif Utils.match_status_code(http_response.status, ['429'])
1879
+ if Utils.match_content_type(content_type, 'application/json')
1880
+ http_response = @sdk_configuration.hooks.after_success(
1881
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1882
+ hook_ctx: hook_ctx
1883
+ ),
1884
+ response: http_response
1885
+ )
1886
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1887
+ throw obj
1888
+ else
1889
+ 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'
1890
+ end
1891
+ elsif Utils.match_status_code(http_response.status, ['500'])
1892
+ if Utils.match_content_type(content_type, 'application/json')
1893
+ http_response = @sdk_configuration.hooks.after_success(
1894
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1895
+ hook_ctx: hook_ctx
1896
+ ),
1897
+ response: http_response
1898
+ )
1899
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1900
+ throw obj
1901
+ else
1902
+ 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'
1903
+ end
1904
+ elsif Utils.match_status_code(http_response.status, ['501'])
1905
+ if Utils.match_content_type(content_type, 'application/json')
1906
+ http_response = @sdk_configuration.hooks.after_success(
1907
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1908
+ hook_ctx: hook_ctx
1909
+ ),
1910
+ response: http_response
1911
+ )
1912
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1913
+ throw obj
1914
+ else
1915
+ 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'
1916
+ end
1917
+ elsif Utils.match_status_code(http_response.status, ['502'])
1918
+ if Utils.match_content_type(content_type, 'application/json')
1919
+ http_response = @sdk_configuration.hooks.after_success(
1920
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1921
+ hook_ctx: hook_ctx
1922
+ ),
1923
+ response: http_response
1924
+ )
1925
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1926
+ throw obj
1927
+ else
1928
+ 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'
1929
+ end
1930
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1931
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1932
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1933
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1934
+ else
1935
+ 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'
1936
+
1937
+ end
1938
+ end
1939
+
1940
+
1941
+ sig { params(unified_upload_request_dto: Models::Shared::UnifiedUploadRequestDto, x_account_id: ::String, x_stackone_api_session_token: T.nilable(::String), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DocumentsUploadFileResponse) }
1942
+ def upload_file(unified_upload_request_dto, x_account_id, x_stackone_api_session_token = nil, retries = nil, timeout_ms = nil)
1943
+ # upload_file - Upload File
1944
+ request = Models::Operations::DocumentsUploadFileRequest.new(
1945
+
1946
+ unified_upload_request_dto: unified_upload_request_dto,
1947
+ x_account_id: x_account_id,
1948
+ x_stackone_api_session_token: x_stackone_api_session_token
1949
+ )
1950
+ url, params = @sdk_configuration.get_server_details
1951
+ base_url = Utils.template_url(url, params)
1952
+ url = "#{base_url}/unified/documents/files/upload"
1953
+ headers = Utils.get_headers(request)
1954
+ req_content_type, data, form = Utils.serialize_request_body(request, :unified_upload_request_dto, :json)
1955
+ headers['content-type'] = req_content_type
1956
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1957
+
1958
+ if form
1959
+ body = Utils.encode_form(form)
1960
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1961
+ body = URI.encode_www_form(data)
1962
+ else
1963
+ body = data
1964
+ end
1965
+ headers['Accept'] = 'application/json'
1966
+ headers['user-agent'] = @sdk_configuration.user_agent
1967
+ retries ||= @sdk_configuration.retry_config
1968
+ retries ||= Utils::RetryConfig.new(
1969
+ backoff: Utils::BackoffStrategy.new(
1970
+ exponent: 1.5,
1971
+ initial_interval: 500,
1972
+ max_elapsed_time: 3_600_000,
1973
+ max_interval: 60_000
1974
+ ),
1975
+ retry_connection_errors: true,
1976
+ strategy: 'backoff'
1977
+ )
1978
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1979
+ retry_options[:retry_statuses] = [429, 408]
1980
+
1981
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1982
+
1983
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1984
+ timeout ||= @sdk_configuration.timeout
1985
+
1986
+ connection = @sdk_configuration.client.dup
1987
+ connection.request :retry, retry_options
1988
+
1989
+ hook_ctx = SDKHooks::HookContext.new(
1990
+ base_url: base_url,
1991
+ oauth2_scopes: [],
1992
+ operation_id: 'documents_upload_file',
1993
+ security_source: @sdk_configuration.security_source
1994
+ )
1995
+
1996
+ error = T.let(nil, T.nilable(StandardError))
1997
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1998
+
1999
+
2000
+ begin
2001
+ http_response = connection.post(url) do |req|
2002
+ req.body = body
2003
+ req.headers.merge!(headers)
2004
+ req.options.timeout = timeout unless timeout.nil?
2005
+ Utils.configure_request_security(req, security)
2006
+
2007
+ @sdk_configuration.hooks.before_request(
2008
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2009
+ hook_ctx: hook_ctx
2010
+ ),
2011
+ request: req
2012
+ )
2013
+ end
2014
+ rescue StandardError => e
2015
+ error = e
2016
+ ensure
2017
+ if http_response.nil? || Utils.error_status?(http_response.status)
2018
+ http_response = @sdk_configuration.hooks.after_error(
2019
+ error: error,
2020
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2021
+ hook_ctx: hook_ctx
2022
+ ),
2023
+ response: http_response
2024
+ )
2025
+ else
2026
+ http_response = @sdk_configuration.hooks.after_success(
2027
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2028
+ hook_ctx: hook_ctx
2029
+ ),
2030
+ response: http_response
2031
+ )
2032
+ end
2033
+
2034
+ if http_response.nil?
2035
+ raise error if !error.nil?
2036
+ raise 'no response'
2037
+ end
2038
+ end
2039
+
2040
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2041
+ if Utils.match_status_code(http_response.status, ['201'])
2042
+ if Utils.match_content_type(content_type, 'application/json')
2043
+ http_response = @sdk_configuration.hooks.after_success(
2044
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2045
+ hook_ctx: hook_ctx
2046
+ ),
2047
+ response: http_response
2048
+ )
2049
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::WriteResultApiModel)
2050
+ response = Models::Operations::DocumentsUploadFileResponse.new(
2051
+ status_code: http_response.status,
2052
+ content_type: content_type,
2053
+ raw_response: http_response,
2054
+ write_result_api_model: obj
2055
+ )
2056
+
2057
+ return response
2058
+ else
2059
+ 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'
2060
+ end
2061
+ elsif Utils.match_status_code(http_response.status, ['400'])
2062
+ if Utils.match_content_type(content_type, 'application/json')
2063
+ http_response = @sdk_configuration.hooks.after_success(
2064
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2065
+ hook_ctx: hook_ctx
2066
+ ),
2067
+ response: http_response
2068
+ )
2069
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
2070
+ throw obj
2071
+ else
2072
+ 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'
2073
+ end
2074
+ elsif Utils.match_status_code(http_response.status, ['401'])
2075
+ if Utils.match_content_type(content_type, 'application/json')
2076
+ http_response = @sdk_configuration.hooks.after_success(
2077
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2078
+ hook_ctx: hook_ctx
2079
+ ),
2080
+ response: http_response
2081
+ )
2082
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
2083
+ throw obj
2084
+ else
2085
+ 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'
2086
+ end
2087
+ elsif Utils.match_status_code(http_response.status, ['403'])
2088
+ if Utils.match_content_type(content_type, 'application/json')
2089
+ http_response = @sdk_configuration.hooks.after_success(
2090
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2091
+ hook_ctx: hook_ctx
2092
+ ),
2093
+ response: http_response
2094
+ )
2095
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
2096
+ throw obj
2097
+ else
2098
+ 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'
2099
+ end
2100
+ elsif Utils.match_status_code(http_response.status, ['404'])
2101
+ if Utils.match_content_type(content_type, 'application/json')
2102
+ http_response = @sdk_configuration.hooks.after_success(
2103
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2104
+ hook_ctx: hook_ctx
2105
+ ),
2106
+ response: http_response
2107
+ )
2108
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
2109
+ throw obj
2110
+ else
2111
+ 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'
2112
+ end
2113
+ elsif Utils.match_status_code(http_response.status, ['408'])
2114
+ if Utils.match_content_type(content_type, 'application/json')
2115
+ http_response = @sdk_configuration.hooks.after_success(
2116
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2117
+ hook_ctx: hook_ctx
2118
+ ),
2119
+ response: http_response
2120
+ )
2121
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
2122
+ throw obj
2123
+ else
2124
+ 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'
2125
+ end
2126
+ elsif Utils.match_status_code(http_response.status, ['409'])
2127
+ if Utils.match_content_type(content_type, 'application/json')
2128
+ http_response = @sdk_configuration.hooks.after_success(
2129
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2130
+ hook_ctx: hook_ctx
2131
+ ),
2132
+ response: http_response
2133
+ )
2134
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
2135
+ throw obj
2136
+ else
2137
+ 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'
2138
+ end
2139
+ elsif Utils.match_status_code(http_response.status, ['412'])
2140
+ if Utils.match_content_type(content_type, 'application/json')
2141
+ http_response = @sdk_configuration.hooks.after_success(
2142
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2143
+ hook_ctx: hook_ctx
2144
+ ),
2145
+ response: http_response
2146
+ )
2147
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
2148
+ throw obj
2149
+ else
2150
+ 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'
2151
+ end
2152
+ elsif Utils.match_status_code(http_response.status, ['422'])
2153
+ if Utils.match_content_type(content_type, 'application/json')
2154
+ http_response = @sdk_configuration.hooks.after_success(
2155
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2156
+ hook_ctx: hook_ctx
2157
+ ),
2158
+ response: http_response
2159
+ )
2160
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
2161
+ throw obj
2162
+ else
2163
+ 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'
2164
+ end
2165
+ elsif Utils.match_status_code(http_response.status, ['429'])
2166
+ if Utils.match_content_type(content_type, 'application/json')
2167
+ http_response = @sdk_configuration.hooks.after_success(
2168
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2169
+ hook_ctx: hook_ctx
2170
+ ),
2171
+ response: http_response
2172
+ )
2173
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
2174
+ throw obj
2175
+ else
2176
+ 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'
2177
+ end
2178
+ elsif Utils.match_status_code(http_response.status, ['500'])
2179
+ if Utils.match_content_type(content_type, 'application/json')
2180
+ http_response = @sdk_configuration.hooks.after_success(
2181
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2182
+ hook_ctx: hook_ctx
2183
+ ),
2184
+ response: http_response
2185
+ )
2186
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
2187
+ throw obj
2188
+ else
2189
+ 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'
2190
+ end
2191
+ elsif Utils.match_status_code(http_response.status, ['501'])
2192
+ if Utils.match_content_type(content_type, 'application/json')
2193
+ http_response = @sdk_configuration.hooks.after_success(
2194
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2195
+ hook_ctx: hook_ctx
2196
+ ),
2197
+ response: http_response
2198
+ )
2199
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
2200
+ throw obj
2201
+ else
2202
+ 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'
2203
+ end
2204
+ elsif Utils.match_status_code(http_response.status, ['502'])
2205
+ if Utils.match_content_type(content_type, 'application/json')
2206
+ http_response = @sdk_configuration.hooks.after_success(
2207
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2208
+ hook_ctx: hook_ctx
2209
+ ),
2210
+ response: http_response
2211
+ )
2212
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
2213
+ throw obj
2214
+ else
2215
+ 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'
2216
+ end
2217
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2218
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2219
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2220
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2221
+ else
2222
+ 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'
2223
+
2224
+ end
2225
+ end
2226
+ end
2227
+ end