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,2519 @@
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 Accounting
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(accounting_journal_batch_create_request_dto: Models::Shared::AccountingJournalBatchCreateRequestDto, id: ::String, x_account_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingBatchCreateCompanyJournalsResponse) }
26
+ def batch_create_company_journals(accounting_journal_batch_create_request_dto, id, x_account_id, retries = nil, timeout_ms = nil)
27
+ # batch_create_company_journals - Batch Create Journals
28
+ request = Models::Operations::AccountingBatchCreateCompanyJournalsRequest.new(
29
+
30
+ accounting_journal_batch_create_request_dto: accounting_journal_batch_create_request_dto,
31
+ id: id,
32
+ x_account_id: x_account_id
33
+ )
34
+ url, params = @sdk_configuration.get_server_details
35
+ base_url = Utils.template_url(url, params)
36
+ url = Utils.generate_url(
37
+ Models::Operations::AccountingBatchCreateCompanyJournalsRequest,
38
+ base_url,
39
+ '/unified/accounting/companies/{id}/journals/batch',
40
+ request
41
+ )
42
+ headers = Utils.get_headers(request)
43
+ req_content_type, data, form = Utils.serialize_request_body(request, :accounting_journal_batch_create_request_dto, :json)
44
+ headers['content-type'] = req_content_type
45
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
46
+
47
+ if form
48
+ body = Utils.encode_form(form)
49
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
50
+ body = URI.encode_www_form(data)
51
+ else
52
+ body = data
53
+ end
54
+ headers['Accept'] = 'application/json'
55
+ headers['user-agent'] = @sdk_configuration.user_agent
56
+ retries ||= @sdk_configuration.retry_config
57
+ retries ||= Utils::RetryConfig.new(
58
+ backoff: Utils::BackoffStrategy.new(
59
+ exponent: 1.5,
60
+ initial_interval: 500,
61
+ max_elapsed_time: 3_600_000,
62
+ max_interval: 60_000
63
+ ),
64
+ retry_connection_errors: true,
65
+ strategy: 'backoff'
66
+ )
67
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
68
+ retry_options[:retry_statuses] = [429, 408]
69
+
70
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
71
+
72
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
73
+ timeout ||= @sdk_configuration.timeout
74
+
75
+ connection = @sdk_configuration.client.dup
76
+ connection.request :retry, retry_options
77
+
78
+ hook_ctx = SDKHooks::HookContext.new(
79
+ base_url: base_url,
80
+ oauth2_scopes: [],
81
+ operation_id: 'accounting_batch_create_company_journals',
82
+ security_source: @sdk_configuration.security_source
83
+ )
84
+
85
+ error = T.let(nil, T.nilable(StandardError))
86
+ http_response = T.let(nil, T.nilable(Faraday::Response))
87
+
88
+
89
+ begin
90
+ http_response = connection.post(url) do |req|
91
+ req.body = body
92
+ req.headers.merge!(headers)
93
+ req.options.timeout = timeout unless timeout.nil?
94
+ Utils.configure_request_security(req, security)
95
+
96
+ @sdk_configuration.hooks.before_request(
97
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
98
+ hook_ctx: hook_ctx
99
+ ),
100
+ request: req
101
+ )
102
+ end
103
+ rescue StandardError => e
104
+ error = e
105
+ ensure
106
+ if http_response.nil? || Utils.error_status?(http_response.status)
107
+ http_response = @sdk_configuration.hooks.after_error(
108
+ error: error,
109
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
110
+ hook_ctx: hook_ctx
111
+ ),
112
+ response: http_response
113
+ )
114
+ else
115
+ http_response = @sdk_configuration.hooks.after_success(
116
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
117
+ hook_ctx: hook_ctx
118
+ ),
119
+ response: http_response
120
+ )
121
+ end
122
+
123
+ if http_response.nil?
124
+ raise error if !error.nil?
125
+ raise 'no response'
126
+ end
127
+ end
128
+
129
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
130
+ if Utils.match_status_code(http_response.status, ['202'])
131
+ if Utils.match_content_type(content_type, 'application/json')
132
+ http_response = @sdk_configuration.hooks.after_success(
133
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
134
+ hook_ctx: hook_ctx
135
+ ),
136
+ response: http_response
137
+ )
138
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::BatchResultApiModel)
139
+ response = Models::Operations::AccountingBatchCreateCompanyJournalsResponse.new(
140
+ status_code: http_response.status,
141
+ content_type: content_type,
142
+ raw_response: http_response,
143
+ batch_result_api_model: obj
144
+ )
145
+
146
+ return response
147
+ else
148
+ 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'
149
+ end
150
+ elsif Utils.match_status_code(http_response.status, ['400'])
151
+ if Utils.match_content_type(content_type, 'application/json')
152
+ http_response = @sdk_configuration.hooks.after_success(
153
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
154
+ hook_ctx: hook_ctx
155
+ ),
156
+ response: http_response
157
+ )
158
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
159
+ throw obj
160
+ else
161
+ 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'
162
+ end
163
+ elsif Utils.match_status_code(http_response.status, ['401'])
164
+ if Utils.match_content_type(content_type, 'application/json')
165
+ http_response = @sdk_configuration.hooks.after_success(
166
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
167
+ hook_ctx: hook_ctx
168
+ ),
169
+ response: http_response
170
+ )
171
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
172
+ throw obj
173
+ else
174
+ 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'
175
+ end
176
+ elsif Utils.match_status_code(http_response.status, ['403'])
177
+ if Utils.match_content_type(content_type, 'application/json')
178
+ http_response = @sdk_configuration.hooks.after_success(
179
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
180
+ hook_ctx: hook_ctx
181
+ ),
182
+ response: http_response
183
+ )
184
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
185
+ throw obj
186
+ else
187
+ 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'
188
+ end
189
+ elsif Utils.match_status_code(http_response.status, ['404'])
190
+ if Utils.match_content_type(content_type, 'application/json')
191
+ http_response = @sdk_configuration.hooks.after_success(
192
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
193
+ hook_ctx: hook_ctx
194
+ ),
195
+ response: http_response
196
+ )
197
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
198
+ throw obj
199
+ else
200
+ 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'
201
+ end
202
+ elsif Utils.match_status_code(http_response.status, ['408'])
203
+ if Utils.match_content_type(content_type, 'application/json')
204
+ http_response = @sdk_configuration.hooks.after_success(
205
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
206
+ hook_ctx: hook_ctx
207
+ ),
208
+ response: http_response
209
+ )
210
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
211
+ throw obj
212
+ else
213
+ 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'
214
+ end
215
+ elsif Utils.match_status_code(http_response.status, ['409'])
216
+ if Utils.match_content_type(content_type, 'application/json')
217
+ http_response = @sdk_configuration.hooks.after_success(
218
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
219
+ hook_ctx: hook_ctx
220
+ ),
221
+ response: http_response
222
+ )
223
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
224
+ throw obj
225
+ else
226
+ 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'
227
+ end
228
+ elsif Utils.match_status_code(http_response.status, ['412'])
229
+ if Utils.match_content_type(content_type, 'application/json')
230
+ http_response = @sdk_configuration.hooks.after_success(
231
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
232
+ hook_ctx: hook_ctx
233
+ ),
234
+ response: http_response
235
+ )
236
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
237
+ throw obj
238
+ else
239
+ 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'
240
+ end
241
+ elsif Utils.match_status_code(http_response.status, ['422'])
242
+ if Utils.match_content_type(content_type, 'application/json')
243
+ http_response = @sdk_configuration.hooks.after_success(
244
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
245
+ hook_ctx: hook_ctx
246
+ ),
247
+ response: http_response
248
+ )
249
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
250
+ throw obj
251
+ else
252
+ 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'
253
+ end
254
+ elsif Utils.match_status_code(http_response.status, ['429'])
255
+ if Utils.match_content_type(content_type, 'application/json')
256
+ http_response = @sdk_configuration.hooks.after_success(
257
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
258
+ hook_ctx: hook_ctx
259
+ ),
260
+ response: http_response
261
+ )
262
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
263
+ throw obj
264
+ else
265
+ 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'
266
+ end
267
+ elsif Utils.match_status_code(http_response.status, ['500'])
268
+ if Utils.match_content_type(content_type, 'application/json')
269
+ http_response = @sdk_configuration.hooks.after_success(
270
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
271
+ hook_ctx: hook_ctx
272
+ ),
273
+ response: http_response
274
+ )
275
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
276
+ throw obj
277
+ else
278
+ 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'
279
+ end
280
+ elsif Utils.match_status_code(http_response.status, ['501'])
281
+ if Utils.match_content_type(content_type, 'application/json')
282
+ http_response = @sdk_configuration.hooks.after_success(
283
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
284
+ hook_ctx: hook_ctx
285
+ ),
286
+ response: http_response
287
+ )
288
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
289
+ throw obj
290
+ else
291
+ 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'
292
+ end
293
+ elsif Utils.match_status_code(http_response.status, ['502'])
294
+ if Utils.match_content_type(content_type, 'application/json')
295
+ http_response = @sdk_configuration.hooks.after_success(
296
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
297
+ hook_ctx: hook_ctx
298
+ ),
299
+ response: http_response
300
+ )
301
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
302
+ throw obj
303
+ else
304
+ 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'
305
+ end
306
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
307
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
308
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
309
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
310
+ else
311
+ 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'
312
+
313
+ end
314
+ end
315
+
316
+
317
+ sig { params(request: T.nilable(Models::Operations::AccountingGetCompanyRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingGetCompanyResponse) }
318
+ def get_company(request, retries = nil, timeout_ms = nil)
319
+ # get_company - Get Company
320
+ url, params = @sdk_configuration.get_server_details
321
+ base_url = Utils.template_url(url, params)
322
+ url = Utils.generate_url(
323
+ Models::Operations::AccountingGetCompanyRequest,
324
+ base_url,
325
+ '/unified/accounting/companies/{id}',
326
+ request
327
+ )
328
+ headers = Utils.get_headers(request)
329
+ query_params = Utils.get_query_params(Models::Operations::AccountingGetCompanyRequest, request)
330
+ headers['Accept'] = 'application/json'
331
+ headers['user-agent'] = @sdk_configuration.user_agent
332
+ retries ||= @sdk_configuration.retry_config
333
+ retries ||= Utils::RetryConfig.new(
334
+ backoff: Utils::BackoffStrategy.new(
335
+ exponent: 1.5,
336
+ initial_interval: 500,
337
+ max_elapsed_time: 3_600_000,
338
+ max_interval: 60_000
339
+ ),
340
+ retry_connection_errors: true,
341
+ strategy: 'backoff'
342
+ )
343
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
344
+ retry_options[:retry_statuses] = [429, 408]
345
+
346
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
347
+
348
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
349
+ timeout ||= @sdk_configuration.timeout
350
+
351
+ connection = @sdk_configuration.client.dup
352
+ connection.request :retry, retry_options
353
+
354
+ hook_ctx = SDKHooks::HookContext.new(
355
+ base_url: base_url,
356
+ oauth2_scopes: [],
357
+ operation_id: 'accounting_get_company',
358
+ security_source: @sdk_configuration.security_source
359
+ )
360
+
361
+ error = T.let(nil, T.nilable(StandardError))
362
+ http_response = T.let(nil, T.nilable(Faraday::Response))
363
+
364
+
365
+ begin
366
+ http_response = connection.get(url) do |req|
367
+ req.headers.merge!(headers)
368
+ req.options.timeout = timeout unless timeout.nil?
369
+ req.params = query_params
370
+ Utils.configure_request_security(req, security)
371
+
372
+ @sdk_configuration.hooks.before_request(
373
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
374
+ hook_ctx: hook_ctx
375
+ ),
376
+ request: req
377
+ )
378
+ end
379
+ rescue StandardError => e
380
+ error = e
381
+ ensure
382
+ if http_response.nil? || Utils.error_status?(http_response.status)
383
+ http_response = @sdk_configuration.hooks.after_error(
384
+ error: error,
385
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
386
+ hook_ctx: hook_ctx
387
+ ),
388
+ response: http_response
389
+ )
390
+ else
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
+ end
398
+
399
+ if http_response.nil?
400
+ raise error if !error.nil?
401
+ raise 'no response'
402
+ end
403
+ end
404
+
405
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
406
+ if Utils.match_status_code(http_response.status, ['200'])
407
+ if Utils.match_content_type(content_type, 'application/json')
408
+ http_response = @sdk_configuration.hooks.after_success(
409
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
410
+ hook_ctx: hook_ctx
411
+ ),
412
+ response: http_response
413
+ )
414
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingCompanyResult)
415
+ response = Models::Operations::AccountingGetCompanyResponse.new(
416
+ status_code: http_response.status,
417
+ content_type: content_type,
418
+ raw_response: http_response,
419
+ accounting_company_result: obj
420
+ )
421
+
422
+ return response
423
+ else
424
+ 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'
425
+ end
426
+ elsif Utils.match_status_code(http_response.status, ['400'])
427
+ if Utils.match_content_type(content_type, 'application/json')
428
+ http_response = @sdk_configuration.hooks.after_success(
429
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
430
+ hook_ctx: hook_ctx
431
+ ),
432
+ response: http_response
433
+ )
434
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
435
+ throw obj
436
+ else
437
+ 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'
438
+ end
439
+ elsif Utils.match_status_code(http_response.status, ['401'])
440
+ if Utils.match_content_type(content_type, 'application/json')
441
+ http_response = @sdk_configuration.hooks.after_success(
442
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
443
+ hook_ctx: hook_ctx
444
+ ),
445
+ response: http_response
446
+ )
447
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
448
+ throw obj
449
+ else
450
+ 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'
451
+ end
452
+ elsif Utils.match_status_code(http_response.status, ['403'])
453
+ if Utils.match_content_type(content_type, 'application/json')
454
+ http_response = @sdk_configuration.hooks.after_success(
455
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
456
+ hook_ctx: hook_ctx
457
+ ),
458
+ response: http_response
459
+ )
460
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
461
+ throw obj
462
+ else
463
+ 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'
464
+ end
465
+ elsif Utils.match_status_code(http_response.status, ['404'])
466
+ if Utils.match_content_type(content_type, 'application/json')
467
+ http_response = @sdk_configuration.hooks.after_success(
468
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
469
+ hook_ctx: hook_ctx
470
+ ),
471
+ response: http_response
472
+ )
473
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
474
+ throw obj
475
+ else
476
+ 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'
477
+ end
478
+ elsif Utils.match_status_code(http_response.status, ['408'])
479
+ if Utils.match_content_type(content_type, 'application/json')
480
+ http_response = @sdk_configuration.hooks.after_success(
481
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
482
+ hook_ctx: hook_ctx
483
+ ),
484
+ response: http_response
485
+ )
486
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
487
+ throw obj
488
+ else
489
+ 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'
490
+ end
491
+ elsif Utils.match_status_code(http_response.status, ['409'])
492
+ if Utils.match_content_type(content_type, 'application/json')
493
+ http_response = @sdk_configuration.hooks.after_success(
494
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
495
+ hook_ctx: hook_ctx
496
+ ),
497
+ response: http_response
498
+ )
499
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
500
+ throw obj
501
+ else
502
+ 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'
503
+ end
504
+ elsif Utils.match_status_code(http_response.status, ['412'])
505
+ if Utils.match_content_type(content_type, 'application/json')
506
+ http_response = @sdk_configuration.hooks.after_success(
507
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
508
+ hook_ctx: hook_ctx
509
+ ),
510
+ response: http_response
511
+ )
512
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
513
+ throw obj
514
+ else
515
+ 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'
516
+ end
517
+ elsif Utils.match_status_code(http_response.status, ['422'])
518
+ if Utils.match_content_type(content_type, 'application/json')
519
+ http_response = @sdk_configuration.hooks.after_success(
520
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
521
+ hook_ctx: hook_ctx
522
+ ),
523
+ response: http_response
524
+ )
525
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
526
+ throw obj
527
+ else
528
+ 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'
529
+ end
530
+ elsif Utils.match_status_code(http_response.status, ['429'])
531
+ if Utils.match_content_type(content_type, 'application/json')
532
+ http_response = @sdk_configuration.hooks.after_success(
533
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
534
+ hook_ctx: hook_ctx
535
+ ),
536
+ response: http_response
537
+ )
538
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
539
+ throw obj
540
+ else
541
+ 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'
542
+ end
543
+ elsif Utils.match_status_code(http_response.status, ['500'])
544
+ if Utils.match_content_type(content_type, 'application/json')
545
+ http_response = @sdk_configuration.hooks.after_success(
546
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
547
+ hook_ctx: hook_ctx
548
+ ),
549
+ response: http_response
550
+ )
551
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
552
+ throw obj
553
+ else
554
+ 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'
555
+ end
556
+ elsif Utils.match_status_code(http_response.status, ['501'])
557
+ if Utils.match_content_type(content_type, 'application/json')
558
+ http_response = @sdk_configuration.hooks.after_success(
559
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
560
+ hook_ctx: hook_ctx
561
+ ),
562
+ response: http_response
563
+ )
564
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
565
+ throw obj
566
+ else
567
+ 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'
568
+ end
569
+ elsif Utils.match_status_code(http_response.status, ['502'])
570
+ if Utils.match_content_type(content_type, 'application/json')
571
+ http_response = @sdk_configuration.hooks.after_success(
572
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
573
+ hook_ctx: hook_ctx
574
+ ),
575
+ response: http_response
576
+ )
577
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
578
+ throw obj
579
+ else
580
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
581
+ end
582
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
583
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
584
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
585
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
586
+ else
587
+ 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'
588
+
589
+ end
590
+ end
591
+
592
+
593
+ sig { params(request: T.nilable(Models::Operations::AccountingGetCompanyAccountRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingGetCompanyAccountResponse) }
594
+ def get_company_account(request, retries = nil, timeout_ms = nil)
595
+ # get_company_account - Get Account
596
+ url, params = @sdk_configuration.get_server_details
597
+ base_url = Utils.template_url(url, params)
598
+ url = Utils.generate_url(
599
+ Models::Operations::AccountingGetCompanyAccountRequest,
600
+ base_url,
601
+ '/unified/accounting/companies/{id}/accounts/{subResourceId}',
602
+ request
603
+ )
604
+ headers = Utils.get_headers(request)
605
+ query_params = Utils.get_query_params(Models::Operations::AccountingGetCompanyAccountRequest, request)
606
+ headers['Accept'] = 'application/json'
607
+ headers['user-agent'] = @sdk_configuration.user_agent
608
+ retries ||= @sdk_configuration.retry_config
609
+ retries ||= Utils::RetryConfig.new(
610
+ backoff: Utils::BackoffStrategy.new(
611
+ exponent: 1.5,
612
+ initial_interval: 500,
613
+ max_elapsed_time: 3_600_000,
614
+ max_interval: 60_000
615
+ ),
616
+ retry_connection_errors: true,
617
+ strategy: 'backoff'
618
+ )
619
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
620
+ retry_options[:retry_statuses] = [429, 408]
621
+
622
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
623
+
624
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
625
+ timeout ||= @sdk_configuration.timeout
626
+
627
+ connection = @sdk_configuration.client.dup
628
+ connection.request :retry, retry_options
629
+
630
+ hook_ctx = SDKHooks::HookContext.new(
631
+ base_url: base_url,
632
+ oauth2_scopes: [],
633
+ operation_id: 'accounting_get_company_account',
634
+ security_source: @sdk_configuration.security_source
635
+ )
636
+
637
+ error = T.let(nil, T.nilable(StandardError))
638
+ http_response = T.let(nil, T.nilable(Faraday::Response))
639
+
640
+
641
+ begin
642
+ http_response = connection.get(url) do |req|
643
+ req.headers.merge!(headers)
644
+ req.options.timeout = timeout unless timeout.nil?
645
+ req.params = query_params
646
+ Utils.configure_request_security(req, security)
647
+
648
+ @sdk_configuration.hooks.before_request(
649
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
650
+ hook_ctx: hook_ctx
651
+ ),
652
+ request: req
653
+ )
654
+ end
655
+ rescue StandardError => e
656
+ error = e
657
+ ensure
658
+ if http_response.nil? || Utils.error_status?(http_response.status)
659
+ http_response = @sdk_configuration.hooks.after_error(
660
+ error: error,
661
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
662
+ hook_ctx: hook_ctx
663
+ ),
664
+ response: http_response
665
+ )
666
+ else
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
+ end
674
+
675
+ if http_response.nil?
676
+ raise error if !error.nil?
677
+ raise 'no response'
678
+ end
679
+ end
680
+
681
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
682
+ if Utils.match_status_code(http_response.status, ['200'])
683
+ if Utils.match_content_type(content_type, 'application/json')
684
+ http_response = @sdk_configuration.hooks.after_success(
685
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
686
+ hook_ctx: hook_ctx
687
+ ),
688
+ response: http_response
689
+ )
690
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingAccountResult)
691
+ response = Models::Operations::AccountingGetCompanyAccountResponse.new(
692
+ status_code: http_response.status,
693
+ content_type: content_type,
694
+ raw_response: http_response,
695
+ accounting_account_result: obj
696
+ )
697
+
698
+ return response
699
+ else
700
+ 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'
701
+ end
702
+ elsif Utils.match_status_code(http_response.status, ['400'])
703
+ if Utils.match_content_type(content_type, 'application/json')
704
+ http_response = @sdk_configuration.hooks.after_success(
705
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
706
+ hook_ctx: hook_ctx
707
+ ),
708
+ response: http_response
709
+ )
710
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
711
+ throw obj
712
+ else
713
+ 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'
714
+ end
715
+ elsif Utils.match_status_code(http_response.status, ['401'])
716
+ if Utils.match_content_type(content_type, 'application/json')
717
+ http_response = @sdk_configuration.hooks.after_success(
718
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
719
+ hook_ctx: hook_ctx
720
+ ),
721
+ response: http_response
722
+ )
723
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
724
+ throw obj
725
+ else
726
+ 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'
727
+ end
728
+ elsif Utils.match_status_code(http_response.status, ['403'])
729
+ if Utils.match_content_type(content_type, 'application/json')
730
+ http_response = @sdk_configuration.hooks.after_success(
731
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
732
+ hook_ctx: hook_ctx
733
+ ),
734
+ response: http_response
735
+ )
736
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
737
+ throw obj
738
+ else
739
+ 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'
740
+ end
741
+ elsif Utils.match_status_code(http_response.status, ['404'])
742
+ if Utils.match_content_type(content_type, 'application/json')
743
+ http_response = @sdk_configuration.hooks.after_success(
744
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
745
+ hook_ctx: hook_ctx
746
+ ),
747
+ response: http_response
748
+ )
749
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
750
+ throw obj
751
+ else
752
+ 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'
753
+ end
754
+ elsif Utils.match_status_code(http_response.status, ['408'])
755
+ if Utils.match_content_type(content_type, 'application/json')
756
+ http_response = @sdk_configuration.hooks.after_success(
757
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
758
+ hook_ctx: hook_ctx
759
+ ),
760
+ response: http_response
761
+ )
762
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
763
+ throw obj
764
+ else
765
+ 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'
766
+ end
767
+ elsif Utils.match_status_code(http_response.status, ['409'])
768
+ if Utils.match_content_type(content_type, 'application/json')
769
+ http_response = @sdk_configuration.hooks.after_success(
770
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
771
+ hook_ctx: hook_ctx
772
+ ),
773
+ response: http_response
774
+ )
775
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
776
+ throw obj
777
+ else
778
+ 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'
779
+ end
780
+ elsif Utils.match_status_code(http_response.status, ['412'])
781
+ if Utils.match_content_type(content_type, 'application/json')
782
+ http_response = @sdk_configuration.hooks.after_success(
783
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
784
+ hook_ctx: hook_ctx
785
+ ),
786
+ response: http_response
787
+ )
788
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
789
+ throw obj
790
+ else
791
+ 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'
792
+ end
793
+ elsif Utils.match_status_code(http_response.status, ['422'])
794
+ if Utils.match_content_type(content_type, 'application/json')
795
+ http_response = @sdk_configuration.hooks.after_success(
796
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
797
+ hook_ctx: hook_ctx
798
+ ),
799
+ response: http_response
800
+ )
801
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
802
+ throw obj
803
+ else
804
+ 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'
805
+ end
806
+ elsif Utils.match_status_code(http_response.status, ['429'])
807
+ if Utils.match_content_type(content_type, 'application/json')
808
+ http_response = @sdk_configuration.hooks.after_success(
809
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
810
+ hook_ctx: hook_ctx
811
+ ),
812
+ response: http_response
813
+ )
814
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
815
+ throw obj
816
+ else
817
+ 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'
818
+ end
819
+ elsif Utils.match_status_code(http_response.status, ['500'])
820
+ if Utils.match_content_type(content_type, 'application/json')
821
+ http_response = @sdk_configuration.hooks.after_success(
822
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
823
+ hook_ctx: hook_ctx
824
+ ),
825
+ response: http_response
826
+ )
827
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
828
+ throw obj
829
+ else
830
+ 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'
831
+ end
832
+ elsif Utils.match_status_code(http_response.status, ['501'])
833
+ if Utils.match_content_type(content_type, 'application/json')
834
+ http_response = @sdk_configuration.hooks.after_success(
835
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
836
+ hook_ctx: hook_ctx
837
+ ),
838
+ response: http_response
839
+ )
840
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
841
+ throw obj
842
+ else
843
+ 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'
844
+ end
845
+ elsif Utils.match_status_code(http_response.status, ['502'])
846
+ if Utils.match_content_type(content_type, 'application/json')
847
+ http_response = @sdk_configuration.hooks.after_success(
848
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
849
+ hook_ctx: hook_ctx
850
+ ),
851
+ response: http_response
852
+ )
853
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
854
+ throw obj
855
+ else
856
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
857
+ end
858
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
859
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
860
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
861
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
862
+ else
863
+ 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'
864
+
865
+ end
866
+ end
867
+
868
+
869
+ sig { params(request: T.nilable(Models::Operations::AccountingGetCompanyJournalRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingGetCompanyJournalResponse) }
870
+ def get_company_journal(request, retries = nil, timeout_ms = nil)
871
+ # get_company_journal - Get Journal
872
+ url, params = @sdk_configuration.get_server_details
873
+ base_url = Utils.template_url(url, params)
874
+ url = Utils.generate_url(
875
+ Models::Operations::AccountingGetCompanyJournalRequest,
876
+ base_url,
877
+ '/unified/accounting/companies/{id}/journals/{subResourceId}',
878
+ request
879
+ )
880
+ headers = Utils.get_headers(request)
881
+ query_params = Utils.get_query_params(Models::Operations::AccountingGetCompanyJournalRequest, request)
882
+ headers['Accept'] = 'application/json'
883
+ headers['user-agent'] = @sdk_configuration.user_agent
884
+ retries ||= @sdk_configuration.retry_config
885
+ retries ||= Utils::RetryConfig.new(
886
+ backoff: Utils::BackoffStrategy.new(
887
+ exponent: 1.5,
888
+ initial_interval: 500,
889
+ max_elapsed_time: 3_600_000,
890
+ max_interval: 60_000
891
+ ),
892
+ retry_connection_errors: true,
893
+ strategy: 'backoff'
894
+ )
895
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
896
+ retry_options[:retry_statuses] = [429, 408]
897
+
898
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
899
+
900
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
901
+ timeout ||= @sdk_configuration.timeout
902
+
903
+ connection = @sdk_configuration.client.dup
904
+ connection.request :retry, retry_options
905
+
906
+ hook_ctx = SDKHooks::HookContext.new(
907
+ base_url: base_url,
908
+ oauth2_scopes: [],
909
+ operation_id: 'accounting_get_company_journal',
910
+ security_source: @sdk_configuration.security_source
911
+ )
912
+
913
+ error = T.let(nil, T.nilable(StandardError))
914
+ http_response = T.let(nil, T.nilable(Faraday::Response))
915
+
916
+
917
+ begin
918
+ http_response = connection.get(url) do |req|
919
+ req.headers.merge!(headers)
920
+ req.options.timeout = timeout unless timeout.nil?
921
+ req.params = query_params
922
+ Utils.configure_request_security(req, security)
923
+
924
+ @sdk_configuration.hooks.before_request(
925
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
926
+ hook_ctx: hook_ctx
927
+ ),
928
+ request: req
929
+ )
930
+ end
931
+ rescue StandardError => e
932
+ error = e
933
+ ensure
934
+ if http_response.nil? || Utils.error_status?(http_response.status)
935
+ http_response = @sdk_configuration.hooks.after_error(
936
+ error: error,
937
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
938
+ hook_ctx: hook_ctx
939
+ ),
940
+ response: http_response
941
+ )
942
+ else
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
+ end
950
+
951
+ if http_response.nil?
952
+ raise error if !error.nil?
953
+ raise 'no response'
954
+ end
955
+ end
956
+
957
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
958
+ if Utils.match_status_code(http_response.status, ['200'])
959
+ if Utils.match_content_type(content_type, 'application/json')
960
+ http_response = @sdk_configuration.hooks.after_success(
961
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
962
+ hook_ctx: hook_ctx
963
+ ),
964
+ response: http_response
965
+ )
966
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingJournalResult)
967
+ response = Models::Operations::AccountingGetCompanyJournalResponse.new(
968
+ status_code: http_response.status,
969
+ content_type: content_type,
970
+ raw_response: http_response,
971
+ accounting_journal_result: obj
972
+ )
973
+
974
+ return response
975
+ else
976
+ 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'
977
+ end
978
+ elsif Utils.match_status_code(http_response.status, ['400'])
979
+ if Utils.match_content_type(content_type, 'application/json')
980
+ http_response = @sdk_configuration.hooks.after_success(
981
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
982
+ hook_ctx: hook_ctx
983
+ ),
984
+ response: http_response
985
+ )
986
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
987
+ throw obj
988
+ else
989
+ 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'
990
+ end
991
+ elsif Utils.match_status_code(http_response.status, ['401'])
992
+ if Utils.match_content_type(content_type, 'application/json')
993
+ http_response = @sdk_configuration.hooks.after_success(
994
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
995
+ hook_ctx: hook_ctx
996
+ ),
997
+ response: http_response
998
+ )
999
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1000
+ throw obj
1001
+ else
1002
+ 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'
1003
+ end
1004
+ elsif Utils.match_status_code(http_response.status, ['403'])
1005
+ if Utils.match_content_type(content_type, 'application/json')
1006
+ http_response = @sdk_configuration.hooks.after_success(
1007
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1008
+ hook_ctx: hook_ctx
1009
+ ),
1010
+ response: http_response
1011
+ )
1012
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1013
+ throw obj
1014
+ else
1015
+ 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'
1016
+ end
1017
+ elsif Utils.match_status_code(http_response.status, ['404'])
1018
+ if Utils.match_content_type(content_type, 'application/json')
1019
+ http_response = @sdk_configuration.hooks.after_success(
1020
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1021
+ hook_ctx: hook_ctx
1022
+ ),
1023
+ response: http_response
1024
+ )
1025
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1026
+ throw obj
1027
+ else
1028
+ 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'
1029
+ end
1030
+ elsif Utils.match_status_code(http_response.status, ['408'])
1031
+ if Utils.match_content_type(content_type, 'application/json')
1032
+ http_response = @sdk_configuration.hooks.after_success(
1033
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1034
+ hook_ctx: hook_ctx
1035
+ ),
1036
+ response: http_response
1037
+ )
1038
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1039
+ throw obj
1040
+ else
1041
+ 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'
1042
+ end
1043
+ elsif Utils.match_status_code(http_response.status, ['409'])
1044
+ if Utils.match_content_type(content_type, 'application/json')
1045
+ http_response = @sdk_configuration.hooks.after_success(
1046
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1047
+ hook_ctx: hook_ctx
1048
+ ),
1049
+ response: http_response
1050
+ )
1051
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1052
+ throw obj
1053
+ else
1054
+ 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'
1055
+ end
1056
+ elsif Utils.match_status_code(http_response.status, ['412'])
1057
+ if Utils.match_content_type(content_type, 'application/json')
1058
+ http_response = @sdk_configuration.hooks.after_success(
1059
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1060
+ hook_ctx: hook_ctx
1061
+ ),
1062
+ response: http_response
1063
+ )
1064
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1065
+ throw obj
1066
+ else
1067
+ 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'
1068
+ end
1069
+ elsif Utils.match_status_code(http_response.status, ['422'])
1070
+ if Utils.match_content_type(content_type, 'application/json')
1071
+ http_response = @sdk_configuration.hooks.after_success(
1072
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1073
+ hook_ctx: hook_ctx
1074
+ ),
1075
+ response: http_response
1076
+ )
1077
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1078
+ throw obj
1079
+ else
1080
+ 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'
1081
+ end
1082
+ elsif Utils.match_status_code(http_response.status, ['429'])
1083
+ if Utils.match_content_type(content_type, 'application/json')
1084
+ http_response = @sdk_configuration.hooks.after_success(
1085
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1086
+ hook_ctx: hook_ctx
1087
+ ),
1088
+ response: http_response
1089
+ )
1090
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1091
+ throw obj
1092
+ else
1093
+ 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'
1094
+ end
1095
+ elsif Utils.match_status_code(http_response.status, ['500'])
1096
+ if Utils.match_content_type(content_type, 'application/json')
1097
+ http_response = @sdk_configuration.hooks.after_success(
1098
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1099
+ hook_ctx: hook_ctx
1100
+ ),
1101
+ response: http_response
1102
+ )
1103
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1104
+ throw obj
1105
+ else
1106
+ 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'
1107
+ end
1108
+ elsif Utils.match_status_code(http_response.status, ['501'])
1109
+ if Utils.match_content_type(content_type, 'application/json')
1110
+ http_response = @sdk_configuration.hooks.after_success(
1111
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1112
+ hook_ctx: hook_ctx
1113
+ ),
1114
+ response: http_response
1115
+ )
1116
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1117
+ throw obj
1118
+ else
1119
+ 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'
1120
+ end
1121
+ elsif Utils.match_status_code(http_response.status, ['502'])
1122
+ if Utils.match_content_type(content_type, 'application/json')
1123
+ http_response = @sdk_configuration.hooks.after_success(
1124
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1125
+ hook_ctx: hook_ctx
1126
+ ),
1127
+ response: http_response
1128
+ )
1129
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1130
+ throw obj
1131
+ else
1132
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1133
+ end
1134
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1135
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1136
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1137
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1138
+ else
1139
+ 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'
1140
+
1141
+ end
1142
+ end
1143
+
1144
+
1145
+ sig { params(request: T.nilable(Models::Operations::AccountingGetCompanyTaxRateRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingGetCompanyTaxRateResponse) }
1146
+ def get_company_tax_rate(request, retries = nil, timeout_ms = nil)
1147
+ # get_company_tax_rate - Get Tax Rate
1148
+ url, params = @sdk_configuration.get_server_details
1149
+ base_url = Utils.template_url(url, params)
1150
+ url = Utils.generate_url(
1151
+ Models::Operations::AccountingGetCompanyTaxRateRequest,
1152
+ base_url,
1153
+ '/unified/accounting/companies/{id}/tax_rates/{subResourceId}',
1154
+ request
1155
+ )
1156
+ headers = Utils.get_headers(request)
1157
+ query_params = Utils.get_query_params(Models::Operations::AccountingGetCompanyTaxRateRequest, request)
1158
+ headers['Accept'] = 'application/json'
1159
+ headers['user-agent'] = @sdk_configuration.user_agent
1160
+ retries ||= @sdk_configuration.retry_config
1161
+ retries ||= Utils::RetryConfig.new(
1162
+ backoff: Utils::BackoffStrategy.new(
1163
+ exponent: 1.5,
1164
+ initial_interval: 500,
1165
+ max_elapsed_time: 3_600_000,
1166
+ max_interval: 60_000
1167
+ ),
1168
+ retry_connection_errors: true,
1169
+ strategy: 'backoff'
1170
+ )
1171
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1172
+ retry_options[:retry_statuses] = [429, 408]
1173
+
1174
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1175
+
1176
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1177
+ timeout ||= @sdk_configuration.timeout
1178
+
1179
+ connection = @sdk_configuration.client.dup
1180
+ connection.request :retry, retry_options
1181
+
1182
+ hook_ctx = SDKHooks::HookContext.new(
1183
+ base_url: base_url,
1184
+ oauth2_scopes: [],
1185
+ operation_id: 'accounting_get_company_tax_rate',
1186
+ security_source: @sdk_configuration.security_source
1187
+ )
1188
+
1189
+ error = T.let(nil, T.nilable(StandardError))
1190
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1191
+
1192
+
1193
+ begin
1194
+ http_response = connection.get(url) do |req|
1195
+ req.headers.merge!(headers)
1196
+ req.options.timeout = timeout unless timeout.nil?
1197
+ req.params = query_params
1198
+ Utils.configure_request_security(req, security)
1199
+
1200
+ @sdk_configuration.hooks.before_request(
1201
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1202
+ hook_ctx: hook_ctx
1203
+ ),
1204
+ request: req
1205
+ )
1206
+ end
1207
+ rescue StandardError => e
1208
+ error = e
1209
+ ensure
1210
+ if http_response.nil? || Utils.error_status?(http_response.status)
1211
+ http_response = @sdk_configuration.hooks.after_error(
1212
+ error: error,
1213
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1214
+ hook_ctx: hook_ctx
1215
+ ),
1216
+ response: http_response
1217
+ )
1218
+ else
1219
+ http_response = @sdk_configuration.hooks.after_success(
1220
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1221
+ hook_ctx: hook_ctx
1222
+ ),
1223
+ response: http_response
1224
+ )
1225
+ end
1226
+
1227
+ if http_response.nil?
1228
+ raise error if !error.nil?
1229
+ raise 'no response'
1230
+ end
1231
+ end
1232
+
1233
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1234
+ if Utils.match_status_code(http_response.status, ['200'])
1235
+ if Utils.match_content_type(content_type, 'application/json')
1236
+ http_response = @sdk_configuration.hooks.after_success(
1237
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1238
+ hook_ctx: hook_ctx
1239
+ ),
1240
+ response: http_response
1241
+ )
1242
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingTaxRateResult)
1243
+ response = Models::Operations::AccountingGetCompanyTaxRateResponse.new(
1244
+ status_code: http_response.status,
1245
+ content_type: content_type,
1246
+ raw_response: http_response,
1247
+ accounting_tax_rate_result: obj
1248
+ )
1249
+
1250
+ return response
1251
+ else
1252
+ 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'
1253
+ end
1254
+ elsif Utils.match_status_code(http_response.status, ['400'])
1255
+ if Utils.match_content_type(content_type, 'application/json')
1256
+ http_response = @sdk_configuration.hooks.after_success(
1257
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1258
+ hook_ctx: hook_ctx
1259
+ ),
1260
+ response: http_response
1261
+ )
1262
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1263
+ throw obj
1264
+ else
1265
+ 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'
1266
+ end
1267
+ elsif Utils.match_status_code(http_response.status, ['401'])
1268
+ if Utils.match_content_type(content_type, 'application/json')
1269
+ http_response = @sdk_configuration.hooks.after_success(
1270
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1271
+ hook_ctx: hook_ctx
1272
+ ),
1273
+ response: http_response
1274
+ )
1275
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1276
+ throw obj
1277
+ else
1278
+ 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'
1279
+ end
1280
+ elsif Utils.match_status_code(http_response.status, ['403'])
1281
+ if Utils.match_content_type(content_type, 'application/json')
1282
+ http_response = @sdk_configuration.hooks.after_success(
1283
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1284
+ hook_ctx: hook_ctx
1285
+ ),
1286
+ response: http_response
1287
+ )
1288
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1289
+ throw obj
1290
+ else
1291
+ 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'
1292
+ end
1293
+ elsif Utils.match_status_code(http_response.status, ['404'])
1294
+ if Utils.match_content_type(content_type, 'application/json')
1295
+ http_response = @sdk_configuration.hooks.after_success(
1296
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1297
+ hook_ctx: hook_ctx
1298
+ ),
1299
+ response: http_response
1300
+ )
1301
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1302
+ throw obj
1303
+ else
1304
+ 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'
1305
+ end
1306
+ elsif Utils.match_status_code(http_response.status, ['408'])
1307
+ if Utils.match_content_type(content_type, 'application/json')
1308
+ http_response = @sdk_configuration.hooks.after_success(
1309
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1310
+ hook_ctx: hook_ctx
1311
+ ),
1312
+ response: http_response
1313
+ )
1314
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1315
+ throw obj
1316
+ else
1317
+ 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'
1318
+ end
1319
+ elsif Utils.match_status_code(http_response.status, ['409'])
1320
+ if Utils.match_content_type(content_type, 'application/json')
1321
+ http_response = @sdk_configuration.hooks.after_success(
1322
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1323
+ hook_ctx: hook_ctx
1324
+ ),
1325
+ response: http_response
1326
+ )
1327
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1328
+ throw obj
1329
+ else
1330
+ 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'
1331
+ end
1332
+ elsif Utils.match_status_code(http_response.status, ['412'])
1333
+ if Utils.match_content_type(content_type, 'application/json')
1334
+ http_response = @sdk_configuration.hooks.after_success(
1335
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1336
+ hook_ctx: hook_ctx
1337
+ ),
1338
+ response: http_response
1339
+ )
1340
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1341
+ throw obj
1342
+ else
1343
+ 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'
1344
+ end
1345
+ elsif Utils.match_status_code(http_response.status, ['422'])
1346
+ if Utils.match_content_type(content_type, 'application/json')
1347
+ http_response = @sdk_configuration.hooks.after_success(
1348
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1349
+ hook_ctx: hook_ctx
1350
+ ),
1351
+ response: http_response
1352
+ )
1353
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1354
+ throw obj
1355
+ else
1356
+ 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'
1357
+ end
1358
+ elsif Utils.match_status_code(http_response.status, ['429'])
1359
+ if Utils.match_content_type(content_type, 'application/json')
1360
+ http_response = @sdk_configuration.hooks.after_success(
1361
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1362
+ hook_ctx: hook_ctx
1363
+ ),
1364
+ response: http_response
1365
+ )
1366
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1367
+ throw obj
1368
+ else
1369
+ 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'
1370
+ end
1371
+ elsif Utils.match_status_code(http_response.status, ['500'])
1372
+ if Utils.match_content_type(content_type, 'application/json')
1373
+ http_response = @sdk_configuration.hooks.after_success(
1374
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1375
+ hook_ctx: hook_ctx
1376
+ ),
1377
+ response: http_response
1378
+ )
1379
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1380
+ throw obj
1381
+ else
1382
+ 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'
1383
+ end
1384
+ elsif Utils.match_status_code(http_response.status, ['501'])
1385
+ if Utils.match_content_type(content_type, 'application/json')
1386
+ http_response = @sdk_configuration.hooks.after_success(
1387
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1388
+ hook_ctx: hook_ctx
1389
+ ),
1390
+ response: http_response
1391
+ )
1392
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1393
+ throw obj
1394
+ else
1395
+ 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'
1396
+ end
1397
+ elsif Utils.match_status_code(http_response.status, ['502'])
1398
+ if Utils.match_content_type(content_type, 'application/json')
1399
+ http_response = @sdk_configuration.hooks.after_success(
1400
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1401
+ hook_ctx: hook_ctx
1402
+ ),
1403
+ response: http_response
1404
+ )
1405
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1406
+ throw obj
1407
+ else
1408
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1409
+ end
1410
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1411
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1412
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1413
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1414
+ else
1415
+ 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'
1416
+
1417
+ end
1418
+ end
1419
+
1420
+
1421
+ sig { params(request: T.nilable(Models::Operations::AccountingListCompaniesRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingListCompaniesResponse) }
1422
+ def list_companies(request, retries = nil, timeout_ms = nil)
1423
+ # list_companies - List Companies
1424
+ url, params = @sdk_configuration.get_server_details
1425
+ base_url = Utils.template_url(url, params)
1426
+ url = "#{base_url}/unified/accounting/companies"
1427
+ headers = Utils.get_headers(request)
1428
+ query_params = Utils.get_query_params(Models::Operations::AccountingListCompaniesRequest, request)
1429
+ headers['Accept'] = 'application/json'
1430
+ headers['user-agent'] = @sdk_configuration.user_agent
1431
+ retries ||= @sdk_configuration.retry_config
1432
+ retries ||= Utils::RetryConfig.new(
1433
+ backoff: Utils::BackoffStrategy.new(
1434
+ exponent: 1.5,
1435
+ initial_interval: 500,
1436
+ max_elapsed_time: 3_600_000,
1437
+ max_interval: 60_000
1438
+ ),
1439
+ retry_connection_errors: true,
1440
+ strategy: 'backoff'
1441
+ )
1442
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1443
+ retry_options[:retry_statuses] = [429, 408]
1444
+
1445
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1446
+
1447
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1448
+ timeout ||= @sdk_configuration.timeout
1449
+
1450
+ connection = @sdk_configuration.client.dup
1451
+ connection.request :retry, retry_options
1452
+
1453
+ hook_ctx = SDKHooks::HookContext.new(
1454
+ base_url: base_url,
1455
+ oauth2_scopes: [],
1456
+ operation_id: 'accounting_list_companies',
1457
+ security_source: @sdk_configuration.security_source
1458
+ )
1459
+
1460
+ error = T.let(nil, T.nilable(StandardError))
1461
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1462
+
1463
+
1464
+ begin
1465
+ http_response = connection.get(url) do |req|
1466
+ req.headers.merge!(headers)
1467
+ req.options.timeout = timeout unless timeout.nil?
1468
+ req.params = query_params
1469
+ Utils.configure_request_security(req, security)
1470
+
1471
+ @sdk_configuration.hooks.before_request(
1472
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1473
+ hook_ctx: hook_ctx
1474
+ ),
1475
+ request: req
1476
+ )
1477
+ end
1478
+ rescue StandardError => e
1479
+ error = e
1480
+ ensure
1481
+ if http_response.nil? || Utils.error_status?(http_response.status)
1482
+ http_response = @sdk_configuration.hooks.after_error(
1483
+ error: error,
1484
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1485
+ hook_ctx: hook_ctx
1486
+ ),
1487
+ response: http_response
1488
+ )
1489
+ else
1490
+ http_response = @sdk_configuration.hooks.after_success(
1491
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1492
+ hook_ctx: hook_ctx
1493
+ ),
1494
+ response: http_response
1495
+ )
1496
+ end
1497
+
1498
+ if http_response.nil?
1499
+ raise error if !error.nil?
1500
+ raise 'no response'
1501
+ end
1502
+ end
1503
+
1504
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1505
+ if Utils.match_status_code(http_response.status, ['200'])
1506
+ if Utils.match_content_type(content_type, 'application/json')
1507
+ http_response = @sdk_configuration.hooks.after_success(
1508
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1509
+ hook_ctx: hook_ctx
1510
+ ),
1511
+ response: http_response
1512
+ )
1513
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingCompaniesPaginated)
1514
+ response = Models::Operations::AccountingListCompaniesResponse.new(
1515
+ status_code: http_response.status,
1516
+ content_type: content_type,
1517
+ raw_response: http_response,
1518
+ accounting_companies_paginated: obj
1519
+ )
1520
+
1521
+ return response
1522
+ else
1523
+ 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'
1524
+ end
1525
+ elsif Utils.match_status_code(http_response.status, ['400'])
1526
+ if Utils.match_content_type(content_type, 'application/json')
1527
+ http_response = @sdk_configuration.hooks.after_success(
1528
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1529
+ hook_ctx: hook_ctx
1530
+ ),
1531
+ response: http_response
1532
+ )
1533
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1534
+ throw obj
1535
+ else
1536
+ 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'
1537
+ end
1538
+ elsif Utils.match_status_code(http_response.status, ['401'])
1539
+ if Utils.match_content_type(content_type, 'application/json')
1540
+ http_response = @sdk_configuration.hooks.after_success(
1541
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1542
+ hook_ctx: hook_ctx
1543
+ ),
1544
+ response: http_response
1545
+ )
1546
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1547
+ throw obj
1548
+ else
1549
+ 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'
1550
+ end
1551
+ elsif Utils.match_status_code(http_response.status, ['403'])
1552
+ if Utils.match_content_type(content_type, 'application/json')
1553
+ http_response = @sdk_configuration.hooks.after_success(
1554
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1555
+ hook_ctx: hook_ctx
1556
+ ),
1557
+ response: http_response
1558
+ )
1559
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1560
+ throw obj
1561
+ else
1562
+ 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'
1563
+ end
1564
+ elsif Utils.match_status_code(http_response.status, ['404'])
1565
+ if Utils.match_content_type(content_type, 'application/json')
1566
+ http_response = @sdk_configuration.hooks.after_success(
1567
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1568
+ hook_ctx: hook_ctx
1569
+ ),
1570
+ response: http_response
1571
+ )
1572
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1573
+ throw obj
1574
+ else
1575
+ 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'
1576
+ end
1577
+ elsif Utils.match_status_code(http_response.status, ['408'])
1578
+ if Utils.match_content_type(content_type, 'application/json')
1579
+ http_response = @sdk_configuration.hooks.after_success(
1580
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1581
+ hook_ctx: hook_ctx
1582
+ ),
1583
+ response: http_response
1584
+ )
1585
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1586
+ throw obj
1587
+ else
1588
+ 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'
1589
+ end
1590
+ elsif Utils.match_status_code(http_response.status, ['409'])
1591
+ if Utils.match_content_type(content_type, 'application/json')
1592
+ http_response = @sdk_configuration.hooks.after_success(
1593
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1594
+ hook_ctx: hook_ctx
1595
+ ),
1596
+ response: http_response
1597
+ )
1598
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1599
+ throw obj
1600
+ else
1601
+ 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'
1602
+ end
1603
+ elsif Utils.match_status_code(http_response.status, ['412'])
1604
+ if Utils.match_content_type(content_type, 'application/json')
1605
+ http_response = @sdk_configuration.hooks.after_success(
1606
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1607
+ hook_ctx: hook_ctx
1608
+ ),
1609
+ response: http_response
1610
+ )
1611
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1612
+ throw obj
1613
+ else
1614
+ 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'
1615
+ end
1616
+ elsif Utils.match_status_code(http_response.status, ['422'])
1617
+ if Utils.match_content_type(content_type, 'application/json')
1618
+ http_response = @sdk_configuration.hooks.after_success(
1619
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1620
+ hook_ctx: hook_ctx
1621
+ ),
1622
+ response: http_response
1623
+ )
1624
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1625
+ throw obj
1626
+ else
1627
+ 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'
1628
+ end
1629
+ elsif Utils.match_status_code(http_response.status, ['429'])
1630
+ if Utils.match_content_type(content_type, 'application/json')
1631
+ http_response = @sdk_configuration.hooks.after_success(
1632
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1633
+ hook_ctx: hook_ctx
1634
+ ),
1635
+ response: http_response
1636
+ )
1637
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1638
+ throw obj
1639
+ else
1640
+ 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'
1641
+ end
1642
+ elsif Utils.match_status_code(http_response.status, ['500'])
1643
+ if Utils.match_content_type(content_type, 'application/json')
1644
+ http_response = @sdk_configuration.hooks.after_success(
1645
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1646
+ hook_ctx: hook_ctx
1647
+ ),
1648
+ response: http_response
1649
+ )
1650
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1651
+ throw obj
1652
+ else
1653
+ 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'
1654
+ end
1655
+ elsif Utils.match_status_code(http_response.status, ['501'])
1656
+ if Utils.match_content_type(content_type, 'application/json')
1657
+ http_response = @sdk_configuration.hooks.after_success(
1658
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1659
+ hook_ctx: hook_ctx
1660
+ ),
1661
+ response: http_response
1662
+ )
1663
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1664
+ throw obj
1665
+ else
1666
+ 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'
1667
+ end
1668
+ elsif Utils.match_status_code(http_response.status, ['502'])
1669
+ if Utils.match_content_type(content_type, 'application/json')
1670
+ http_response = @sdk_configuration.hooks.after_success(
1671
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1672
+ hook_ctx: hook_ctx
1673
+ ),
1674
+ response: http_response
1675
+ )
1676
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1677
+ throw obj
1678
+ else
1679
+ 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'
1680
+ end
1681
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1682
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1683
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1684
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1685
+ else
1686
+ 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'
1687
+
1688
+ end
1689
+ end
1690
+
1691
+
1692
+ sig { params(request: T.nilable(Models::Operations::AccountingListCompanyAccountsRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingListCompanyAccountsResponse) }
1693
+ def list_company_accounts(request, retries = nil, timeout_ms = nil)
1694
+ # list_company_accounts - List Accounts
1695
+ url, params = @sdk_configuration.get_server_details
1696
+ base_url = Utils.template_url(url, params)
1697
+ url = Utils.generate_url(
1698
+ Models::Operations::AccountingListCompanyAccountsRequest,
1699
+ base_url,
1700
+ '/unified/accounting/companies/{id}/accounts',
1701
+ request
1702
+ )
1703
+ headers = Utils.get_headers(request)
1704
+ query_params = Utils.get_query_params(Models::Operations::AccountingListCompanyAccountsRequest, request)
1705
+ headers['Accept'] = 'application/json'
1706
+ headers['user-agent'] = @sdk_configuration.user_agent
1707
+ retries ||= @sdk_configuration.retry_config
1708
+ retries ||= Utils::RetryConfig.new(
1709
+ backoff: Utils::BackoffStrategy.new(
1710
+ exponent: 1.5,
1711
+ initial_interval: 500,
1712
+ max_elapsed_time: 3_600_000,
1713
+ max_interval: 60_000
1714
+ ),
1715
+ retry_connection_errors: true,
1716
+ strategy: 'backoff'
1717
+ )
1718
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1719
+ retry_options[:retry_statuses] = [429, 408]
1720
+
1721
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1722
+
1723
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1724
+ timeout ||= @sdk_configuration.timeout
1725
+
1726
+ connection = @sdk_configuration.client.dup
1727
+ connection.request :retry, retry_options
1728
+
1729
+ hook_ctx = SDKHooks::HookContext.new(
1730
+ base_url: base_url,
1731
+ oauth2_scopes: [],
1732
+ operation_id: 'accounting_list_company_accounts',
1733
+ security_source: @sdk_configuration.security_source
1734
+ )
1735
+
1736
+ error = T.let(nil, T.nilable(StandardError))
1737
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1738
+
1739
+
1740
+ begin
1741
+ http_response = connection.get(url) do |req|
1742
+ req.headers.merge!(headers)
1743
+ req.options.timeout = timeout unless timeout.nil?
1744
+ req.params = query_params
1745
+ Utils.configure_request_security(req, security)
1746
+
1747
+ @sdk_configuration.hooks.before_request(
1748
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1749
+ hook_ctx: hook_ctx
1750
+ ),
1751
+ request: req
1752
+ )
1753
+ end
1754
+ rescue StandardError => e
1755
+ error = e
1756
+ ensure
1757
+ if http_response.nil? || Utils.error_status?(http_response.status)
1758
+ http_response = @sdk_configuration.hooks.after_error(
1759
+ error: error,
1760
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1761
+ hook_ctx: hook_ctx
1762
+ ),
1763
+ response: http_response
1764
+ )
1765
+ else
1766
+ http_response = @sdk_configuration.hooks.after_success(
1767
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1768
+ hook_ctx: hook_ctx
1769
+ ),
1770
+ response: http_response
1771
+ )
1772
+ end
1773
+
1774
+ if http_response.nil?
1775
+ raise error if !error.nil?
1776
+ raise 'no response'
1777
+ end
1778
+ end
1779
+
1780
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1781
+ if Utils.match_status_code(http_response.status, ['200'])
1782
+ if Utils.match_content_type(content_type, 'application/json')
1783
+ http_response = @sdk_configuration.hooks.after_success(
1784
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1785
+ hook_ctx: hook_ctx
1786
+ ),
1787
+ response: http_response
1788
+ )
1789
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingAccountsPaginated)
1790
+ response = Models::Operations::AccountingListCompanyAccountsResponse.new(
1791
+ status_code: http_response.status,
1792
+ content_type: content_type,
1793
+ raw_response: http_response,
1794
+ accounting_accounts_paginated: obj
1795
+ )
1796
+
1797
+ return response
1798
+ else
1799
+ 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'
1800
+ end
1801
+ elsif Utils.match_status_code(http_response.status, ['400'])
1802
+ if Utils.match_content_type(content_type, 'application/json')
1803
+ http_response = @sdk_configuration.hooks.after_success(
1804
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1805
+ hook_ctx: hook_ctx
1806
+ ),
1807
+ response: http_response
1808
+ )
1809
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
1810
+ throw obj
1811
+ else
1812
+ 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'
1813
+ end
1814
+ elsif Utils.match_status_code(http_response.status, ['401'])
1815
+ if Utils.match_content_type(content_type, 'application/json')
1816
+ http_response = @sdk_configuration.hooks.after_success(
1817
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1818
+ hook_ctx: hook_ctx
1819
+ ),
1820
+ response: http_response
1821
+ )
1822
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
1823
+ throw obj
1824
+ else
1825
+ 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'
1826
+ end
1827
+ elsif Utils.match_status_code(http_response.status, ['403'])
1828
+ if Utils.match_content_type(content_type, 'application/json')
1829
+ http_response = @sdk_configuration.hooks.after_success(
1830
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1831
+ hook_ctx: hook_ctx
1832
+ ),
1833
+ response: http_response
1834
+ )
1835
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
1836
+ throw obj
1837
+ else
1838
+ 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'
1839
+ end
1840
+ elsif Utils.match_status_code(http_response.status, ['404'])
1841
+ if Utils.match_content_type(content_type, 'application/json')
1842
+ http_response = @sdk_configuration.hooks.after_success(
1843
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1844
+ hook_ctx: hook_ctx
1845
+ ),
1846
+ response: http_response
1847
+ )
1848
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
1849
+ throw obj
1850
+ else
1851
+ 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'
1852
+ end
1853
+ elsif Utils.match_status_code(http_response.status, ['408'])
1854
+ if Utils.match_content_type(content_type, 'application/json')
1855
+ http_response = @sdk_configuration.hooks.after_success(
1856
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1857
+ hook_ctx: hook_ctx
1858
+ ),
1859
+ response: http_response
1860
+ )
1861
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
1862
+ throw obj
1863
+ else
1864
+ 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'
1865
+ end
1866
+ elsif Utils.match_status_code(http_response.status, ['409'])
1867
+ if Utils.match_content_type(content_type, 'application/json')
1868
+ http_response = @sdk_configuration.hooks.after_success(
1869
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1870
+ hook_ctx: hook_ctx
1871
+ ),
1872
+ response: http_response
1873
+ )
1874
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
1875
+ throw obj
1876
+ else
1877
+ 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'
1878
+ end
1879
+ elsif Utils.match_status_code(http_response.status, ['412'])
1880
+ if Utils.match_content_type(content_type, 'application/json')
1881
+ http_response = @sdk_configuration.hooks.after_success(
1882
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1883
+ hook_ctx: hook_ctx
1884
+ ),
1885
+ response: http_response
1886
+ )
1887
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
1888
+ throw obj
1889
+ else
1890
+ 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'
1891
+ end
1892
+ elsif Utils.match_status_code(http_response.status, ['422'])
1893
+ if Utils.match_content_type(content_type, 'application/json')
1894
+ http_response = @sdk_configuration.hooks.after_success(
1895
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1896
+ hook_ctx: hook_ctx
1897
+ ),
1898
+ response: http_response
1899
+ )
1900
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
1901
+ throw obj
1902
+ else
1903
+ 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'
1904
+ end
1905
+ elsif Utils.match_status_code(http_response.status, ['429'])
1906
+ if Utils.match_content_type(content_type, 'application/json')
1907
+ http_response = @sdk_configuration.hooks.after_success(
1908
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1909
+ hook_ctx: hook_ctx
1910
+ ),
1911
+ response: http_response
1912
+ )
1913
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
1914
+ throw obj
1915
+ else
1916
+ 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'
1917
+ end
1918
+ elsif Utils.match_status_code(http_response.status, ['500'])
1919
+ if Utils.match_content_type(content_type, 'application/json')
1920
+ http_response = @sdk_configuration.hooks.after_success(
1921
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1922
+ hook_ctx: hook_ctx
1923
+ ),
1924
+ response: http_response
1925
+ )
1926
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
1927
+ throw obj
1928
+ else
1929
+ 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'
1930
+ end
1931
+ elsif Utils.match_status_code(http_response.status, ['501'])
1932
+ if Utils.match_content_type(content_type, 'application/json')
1933
+ http_response = @sdk_configuration.hooks.after_success(
1934
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1935
+ hook_ctx: hook_ctx
1936
+ ),
1937
+ response: http_response
1938
+ )
1939
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
1940
+ throw obj
1941
+ else
1942
+ 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'
1943
+ end
1944
+ elsif Utils.match_status_code(http_response.status, ['502'])
1945
+ if Utils.match_content_type(content_type, 'application/json')
1946
+ http_response = @sdk_configuration.hooks.after_success(
1947
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1948
+ hook_ctx: hook_ctx
1949
+ ),
1950
+ response: http_response
1951
+ )
1952
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
1953
+ throw obj
1954
+ else
1955
+ 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'
1956
+ end
1957
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1958
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1959
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1960
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1961
+ else
1962
+ 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'
1963
+
1964
+ end
1965
+ end
1966
+
1967
+
1968
+ sig { params(request: T.nilable(Models::Operations::AccountingListCompanyJournalsRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingListCompanyJournalsResponse) }
1969
+ def list_company_journals(request, retries = nil, timeout_ms = nil)
1970
+ # list_company_journals - List Journals
1971
+ url, params = @sdk_configuration.get_server_details
1972
+ base_url = Utils.template_url(url, params)
1973
+ url = Utils.generate_url(
1974
+ Models::Operations::AccountingListCompanyJournalsRequest,
1975
+ base_url,
1976
+ '/unified/accounting/companies/{id}/journals',
1977
+ request
1978
+ )
1979
+ headers = Utils.get_headers(request)
1980
+ query_params = Utils.get_query_params(Models::Operations::AccountingListCompanyJournalsRequest, request)
1981
+ headers['Accept'] = 'application/json'
1982
+ headers['user-agent'] = @sdk_configuration.user_agent
1983
+ retries ||= @sdk_configuration.retry_config
1984
+ retries ||= Utils::RetryConfig.new(
1985
+ backoff: Utils::BackoffStrategy.new(
1986
+ exponent: 1.5,
1987
+ initial_interval: 500,
1988
+ max_elapsed_time: 3_600_000,
1989
+ max_interval: 60_000
1990
+ ),
1991
+ retry_connection_errors: true,
1992
+ strategy: 'backoff'
1993
+ )
1994
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1995
+ retry_options[:retry_statuses] = [429, 408]
1996
+
1997
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1998
+
1999
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2000
+ timeout ||= @sdk_configuration.timeout
2001
+
2002
+ connection = @sdk_configuration.client.dup
2003
+ connection.request :retry, retry_options
2004
+
2005
+ hook_ctx = SDKHooks::HookContext.new(
2006
+ base_url: base_url,
2007
+ oauth2_scopes: [],
2008
+ operation_id: 'accounting_list_company_journals',
2009
+ security_source: @sdk_configuration.security_source
2010
+ )
2011
+
2012
+ error = T.let(nil, T.nilable(StandardError))
2013
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2014
+
2015
+
2016
+ begin
2017
+ http_response = connection.get(url) do |req|
2018
+ req.headers.merge!(headers)
2019
+ req.options.timeout = timeout unless timeout.nil?
2020
+ req.params = query_params
2021
+ Utils.configure_request_security(req, security)
2022
+
2023
+ @sdk_configuration.hooks.before_request(
2024
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2025
+ hook_ctx: hook_ctx
2026
+ ),
2027
+ request: req
2028
+ )
2029
+ end
2030
+ rescue StandardError => e
2031
+ error = e
2032
+ ensure
2033
+ if http_response.nil? || Utils.error_status?(http_response.status)
2034
+ http_response = @sdk_configuration.hooks.after_error(
2035
+ error: error,
2036
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2037
+ hook_ctx: hook_ctx
2038
+ ),
2039
+ response: http_response
2040
+ )
2041
+ else
2042
+ http_response = @sdk_configuration.hooks.after_success(
2043
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2044
+ hook_ctx: hook_ctx
2045
+ ),
2046
+ response: http_response
2047
+ )
2048
+ end
2049
+
2050
+ if http_response.nil?
2051
+ raise error if !error.nil?
2052
+ raise 'no response'
2053
+ end
2054
+ end
2055
+
2056
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2057
+ if Utils.match_status_code(http_response.status, ['200'])
2058
+ if Utils.match_content_type(content_type, 'application/json')
2059
+ http_response = @sdk_configuration.hooks.after_success(
2060
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2061
+ hook_ctx: hook_ctx
2062
+ ),
2063
+ response: http_response
2064
+ )
2065
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingJournalsPaginated)
2066
+ response = Models::Operations::AccountingListCompanyJournalsResponse.new(
2067
+ status_code: http_response.status,
2068
+ content_type: content_type,
2069
+ raw_response: http_response,
2070
+ accounting_journals_paginated: obj
2071
+ )
2072
+
2073
+ return response
2074
+ else
2075
+ 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'
2076
+ end
2077
+ elsif Utils.match_status_code(http_response.status, ['400'])
2078
+ if Utils.match_content_type(content_type, 'application/json')
2079
+ http_response = @sdk_configuration.hooks.after_success(
2080
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2081
+ hook_ctx: hook_ctx
2082
+ ),
2083
+ response: http_response
2084
+ )
2085
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
2086
+ throw obj
2087
+ else
2088
+ 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'
2089
+ end
2090
+ elsif Utils.match_status_code(http_response.status, ['401'])
2091
+ if Utils.match_content_type(content_type, 'application/json')
2092
+ http_response = @sdk_configuration.hooks.after_success(
2093
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2094
+ hook_ctx: hook_ctx
2095
+ ),
2096
+ response: http_response
2097
+ )
2098
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
2099
+ throw obj
2100
+ else
2101
+ 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'
2102
+ end
2103
+ elsif Utils.match_status_code(http_response.status, ['403'])
2104
+ if Utils.match_content_type(content_type, 'application/json')
2105
+ http_response = @sdk_configuration.hooks.after_success(
2106
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2107
+ hook_ctx: hook_ctx
2108
+ ),
2109
+ response: http_response
2110
+ )
2111
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
2112
+ throw obj
2113
+ else
2114
+ 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'
2115
+ end
2116
+ elsif Utils.match_status_code(http_response.status, ['404'])
2117
+ if Utils.match_content_type(content_type, 'application/json')
2118
+ http_response = @sdk_configuration.hooks.after_success(
2119
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2120
+ hook_ctx: hook_ctx
2121
+ ),
2122
+ response: http_response
2123
+ )
2124
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
2125
+ throw obj
2126
+ else
2127
+ 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'
2128
+ end
2129
+ elsif Utils.match_status_code(http_response.status, ['408'])
2130
+ if Utils.match_content_type(content_type, 'application/json')
2131
+ http_response = @sdk_configuration.hooks.after_success(
2132
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2133
+ hook_ctx: hook_ctx
2134
+ ),
2135
+ response: http_response
2136
+ )
2137
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
2138
+ throw obj
2139
+ else
2140
+ 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'
2141
+ end
2142
+ elsif Utils.match_status_code(http_response.status, ['409'])
2143
+ if Utils.match_content_type(content_type, 'application/json')
2144
+ http_response = @sdk_configuration.hooks.after_success(
2145
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2146
+ hook_ctx: hook_ctx
2147
+ ),
2148
+ response: http_response
2149
+ )
2150
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
2151
+ throw obj
2152
+ else
2153
+ 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'
2154
+ end
2155
+ elsif Utils.match_status_code(http_response.status, ['412'])
2156
+ if Utils.match_content_type(content_type, 'application/json')
2157
+ http_response = @sdk_configuration.hooks.after_success(
2158
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2159
+ hook_ctx: hook_ctx
2160
+ ),
2161
+ response: http_response
2162
+ )
2163
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
2164
+ throw obj
2165
+ else
2166
+ 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'
2167
+ end
2168
+ elsif Utils.match_status_code(http_response.status, ['422'])
2169
+ if Utils.match_content_type(content_type, 'application/json')
2170
+ http_response = @sdk_configuration.hooks.after_success(
2171
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2172
+ hook_ctx: hook_ctx
2173
+ ),
2174
+ response: http_response
2175
+ )
2176
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
2177
+ throw obj
2178
+ else
2179
+ 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'
2180
+ end
2181
+ elsif Utils.match_status_code(http_response.status, ['429'])
2182
+ if Utils.match_content_type(content_type, 'application/json')
2183
+ http_response = @sdk_configuration.hooks.after_success(
2184
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2185
+ hook_ctx: hook_ctx
2186
+ ),
2187
+ response: http_response
2188
+ )
2189
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
2190
+ throw obj
2191
+ else
2192
+ 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'
2193
+ end
2194
+ elsif Utils.match_status_code(http_response.status, ['500'])
2195
+ if Utils.match_content_type(content_type, 'application/json')
2196
+ http_response = @sdk_configuration.hooks.after_success(
2197
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2198
+ hook_ctx: hook_ctx
2199
+ ),
2200
+ response: http_response
2201
+ )
2202
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
2203
+ throw obj
2204
+ else
2205
+ 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'
2206
+ end
2207
+ elsif Utils.match_status_code(http_response.status, ['501'])
2208
+ if Utils.match_content_type(content_type, 'application/json')
2209
+ http_response = @sdk_configuration.hooks.after_success(
2210
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2211
+ hook_ctx: hook_ctx
2212
+ ),
2213
+ response: http_response
2214
+ )
2215
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
2216
+ throw obj
2217
+ else
2218
+ 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'
2219
+ end
2220
+ elsif Utils.match_status_code(http_response.status, ['502'])
2221
+ if Utils.match_content_type(content_type, 'application/json')
2222
+ http_response = @sdk_configuration.hooks.after_success(
2223
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2224
+ hook_ctx: hook_ctx
2225
+ ),
2226
+ response: http_response
2227
+ )
2228
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
2229
+ throw obj
2230
+ else
2231
+ 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'
2232
+ end
2233
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2234
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2235
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2236
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2237
+ else
2238
+ 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'
2239
+
2240
+ end
2241
+ end
2242
+
2243
+
2244
+ sig { params(request: T.nilable(Models::Operations::AccountingListCompanyTaxRatesRequest), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AccountingListCompanyTaxRatesResponse) }
2245
+ def list_company_tax_rates(request, retries = nil, timeout_ms = nil)
2246
+ # list_company_tax_rates - List Tax Rates
2247
+ url, params = @sdk_configuration.get_server_details
2248
+ base_url = Utils.template_url(url, params)
2249
+ url = Utils.generate_url(
2250
+ Models::Operations::AccountingListCompanyTaxRatesRequest,
2251
+ base_url,
2252
+ '/unified/accounting/companies/{id}/tax_rates',
2253
+ request
2254
+ )
2255
+ headers = Utils.get_headers(request)
2256
+ query_params = Utils.get_query_params(Models::Operations::AccountingListCompanyTaxRatesRequest, request)
2257
+ headers['Accept'] = 'application/json'
2258
+ headers['user-agent'] = @sdk_configuration.user_agent
2259
+ retries ||= @sdk_configuration.retry_config
2260
+ retries ||= Utils::RetryConfig.new(
2261
+ backoff: Utils::BackoffStrategy.new(
2262
+ exponent: 1.5,
2263
+ initial_interval: 500,
2264
+ max_elapsed_time: 3_600_000,
2265
+ max_interval: 60_000
2266
+ ),
2267
+ retry_connection_errors: true,
2268
+ strategy: 'backoff'
2269
+ )
2270
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2271
+ retry_options[:retry_statuses] = [429, 408]
2272
+
2273
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
2274
+
2275
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2276
+ timeout ||= @sdk_configuration.timeout
2277
+
2278
+ connection = @sdk_configuration.client.dup
2279
+ connection.request :retry, retry_options
2280
+
2281
+ hook_ctx = SDKHooks::HookContext.new(
2282
+ base_url: base_url,
2283
+ oauth2_scopes: [],
2284
+ operation_id: 'accounting_list_company_tax_rates',
2285
+ security_source: @sdk_configuration.security_source
2286
+ )
2287
+
2288
+ error = T.let(nil, T.nilable(StandardError))
2289
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2290
+
2291
+
2292
+ begin
2293
+ http_response = connection.get(url) do |req|
2294
+ req.headers.merge!(headers)
2295
+ req.options.timeout = timeout unless timeout.nil?
2296
+ req.params = query_params
2297
+ Utils.configure_request_security(req, security)
2298
+
2299
+ @sdk_configuration.hooks.before_request(
2300
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2301
+ hook_ctx: hook_ctx
2302
+ ),
2303
+ request: req
2304
+ )
2305
+ end
2306
+ rescue StandardError => e
2307
+ error = e
2308
+ ensure
2309
+ if http_response.nil? || Utils.error_status?(http_response.status)
2310
+ http_response = @sdk_configuration.hooks.after_error(
2311
+ error: error,
2312
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2313
+ hook_ctx: hook_ctx
2314
+ ),
2315
+ response: http_response
2316
+ )
2317
+ else
2318
+ http_response = @sdk_configuration.hooks.after_success(
2319
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2320
+ hook_ctx: hook_ctx
2321
+ ),
2322
+ response: http_response
2323
+ )
2324
+ end
2325
+
2326
+ if http_response.nil?
2327
+ raise error if !error.nil?
2328
+ raise 'no response'
2329
+ end
2330
+ end
2331
+
2332
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2333
+ if Utils.match_status_code(http_response.status, ['200'])
2334
+ if Utils.match_content_type(content_type, 'application/json')
2335
+ http_response = @sdk_configuration.hooks.after_success(
2336
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2337
+ hook_ctx: hook_ctx
2338
+ ),
2339
+ response: http_response
2340
+ )
2341
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Shared::AccountingTaxRatesPaginated)
2342
+ response = Models::Operations::AccountingListCompanyTaxRatesResponse.new(
2343
+ status_code: http_response.status,
2344
+ content_type: content_type,
2345
+ raw_response: http_response,
2346
+ accounting_tax_rates_paginated: obj
2347
+ )
2348
+
2349
+ return response
2350
+ else
2351
+ 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'
2352
+ end
2353
+ elsif Utils.match_status_code(http_response.status, ['400'])
2354
+ if Utils.match_content_type(content_type, 'application/json')
2355
+ http_response = @sdk_configuration.hooks.after_success(
2356
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2357
+ hook_ctx: hook_ctx
2358
+ ),
2359
+ response: http_response
2360
+ )
2361
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadRequestResponse)
2362
+ throw obj
2363
+ else
2364
+ 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'
2365
+ end
2366
+ elsif Utils.match_status_code(http_response.status, ['401'])
2367
+ if Utils.match_content_type(content_type, 'application/json')
2368
+ http_response = @sdk_configuration.hooks.after_success(
2369
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2370
+ hook_ctx: hook_ctx
2371
+ ),
2372
+ response: http_response
2373
+ )
2374
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnauthorizedResponse)
2375
+ throw obj
2376
+ else
2377
+ 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'
2378
+ end
2379
+ elsif Utils.match_status_code(http_response.status, ['403'])
2380
+ if Utils.match_content_type(content_type, 'application/json')
2381
+ http_response = @sdk_configuration.hooks.after_success(
2382
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2383
+ hook_ctx: hook_ctx
2384
+ ),
2385
+ response: http_response
2386
+ )
2387
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ForbiddenResponse)
2388
+ throw obj
2389
+ else
2390
+ 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'
2391
+ end
2392
+ elsif Utils.match_status_code(http_response.status, ['404'])
2393
+ if Utils.match_content_type(content_type, 'application/json')
2394
+ http_response = @sdk_configuration.hooks.after_success(
2395
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2396
+ hook_ctx: hook_ctx
2397
+ ),
2398
+ response: http_response
2399
+ )
2400
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotFoundResponse)
2401
+ throw obj
2402
+ else
2403
+ 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'
2404
+ end
2405
+ elsif Utils.match_status_code(http_response.status, ['408'])
2406
+ if Utils.match_content_type(content_type, 'application/json')
2407
+ http_response = @sdk_configuration.hooks.after_success(
2408
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2409
+ hook_ctx: hook_ctx
2410
+ ),
2411
+ response: http_response
2412
+ )
2413
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::RequestTimedOutResponse)
2414
+ throw obj
2415
+ else
2416
+ 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'
2417
+ end
2418
+ elsif Utils.match_status_code(http_response.status, ['409'])
2419
+ if Utils.match_content_type(content_type, 'application/json')
2420
+ http_response = @sdk_configuration.hooks.after_success(
2421
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2422
+ hook_ctx: hook_ctx
2423
+ ),
2424
+ response: http_response
2425
+ )
2426
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::ConflictResponse)
2427
+ throw obj
2428
+ else
2429
+ 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'
2430
+ end
2431
+ elsif Utils.match_status_code(http_response.status, ['412'])
2432
+ if Utils.match_content_type(content_type, 'application/json')
2433
+ http_response = @sdk_configuration.hooks.after_success(
2434
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2435
+ hook_ctx: hook_ctx
2436
+ ),
2437
+ response: http_response
2438
+ )
2439
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::PreconditionFailedResponse)
2440
+ throw obj
2441
+ else
2442
+ 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'
2443
+ end
2444
+ elsif Utils.match_status_code(http_response.status, ['422'])
2445
+ if Utils.match_content_type(content_type, 'application/json')
2446
+ http_response = @sdk_configuration.hooks.after_success(
2447
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2448
+ hook_ctx: hook_ctx
2449
+ ),
2450
+ response: http_response
2451
+ )
2452
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::UnprocessableEntityResponse)
2453
+ throw obj
2454
+ else
2455
+ 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'
2456
+ end
2457
+ elsif Utils.match_status_code(http_response.status, ['429'])
2458
+ if Utils.match_content_type(content_type, 'application/json')
2459
+ http_response = @sdk_configuration.hooks.after_success(
2460
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2461
+ hook_ctx: hook_ctx
2462
+ ),
2463
+ response: http_response
2464
+ )
2465
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::TooManyRequestsResponse)
2466
+ throw obj
2467
+ else
2468
+ 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'
2469
+ end
2470
+ elsif Utils.match_status_code(http_response.status, ['500'])
2471
+ if Utils.match_content_type(content_type, 'application/json')
2472
+ http_response = @sdk_configuration.hooks.after_success(
2473
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2474
+ hook_ctx: hook_ctx
2475
+ ),
2476
+ response: http_response
2477
+ )
2478
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::InternalServerErrorResponse)
2479
+ throw obj
2480
+ else
2481
+ 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'
2482
+ end
2483
+ elsif Utils.match_status_code(http_response.status, ['501'])
2484
+ if Utils.match_content_type(content_type, 'application/json')
2485
+ http_response = @sdk_configuration.hooks.after_success(
2486
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2487
+ hook_ctx: hook_ctx
2488
+ ),
2489
+ response: http_response
2490
+ )
2491
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::NotImplementedResponse)
2492
+ throw obj
2493
+ else
2494
+ 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'
2495
+ end
2496
+ elsif Utils.match_status_code(http_response.status, ['502'])
2497
+ if Utils.match_content_type(content_type, 'application/json')
2498
+ http_response = @sdk_configuration.hooks.after_success(
2499
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2500
+ hook_ctx: hook_ctx
2501
+ ),
2502
+ response: http_response
2503
+ )
2504
+ obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::BadGatewayResponse)
2505
+ throw obj
2506
+ else
2507
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2508
+ end
2509
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2510
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2511
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2512
+ raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2513
+ else
2514
+ 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'
2515
+
2516
+ end
2517
+ end
2518
+ end
2519
+ end