stackone_client 0.5.9 → 0.7.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 (238) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/accounts.rb +361 -36
  3. data/lib/stack_one/ats.rb +5301 -652
  4. data/lib/stack_one/connect_sessions.rb +157 -22
  5. data/lib/stack_one/connectors.rb +145 -14
  6. data/lib/stack_one/crm.rb +725 -78
  7. data/lib/stack_one/hris.rb +4335 -462
  8. data/lib/stack_one/iam.rb +805 -56
  9. data/lib/stack_one/lms.rb +1967 -220
  10. data/lib/stack_one/marketing.rb +1921 -230
  11. data/lib/stack_one/models/operations/ats_get_application_custom_field_definition_request.rb +2 -2
  12. data/lib/stack_one/models/operations/ats_get_application_document_request.rb +1 -1
  13. data/lib/stack_one/models/operations/ats_get_application_note_request.rb +1 -1
  14. data/lib/stack_one/models/operations/ats_get_application_offer_request.rb +1 -1
  15. data/lib/stack_one/models/operations/ats_get_application_request.rb +1 -1
  16. data/lib/stack_one/models/operations/ats_get_application_scheduled_interview_request.rb +1 -1
  17. data/lib/stack_one/models/operations/ats_get_application_scorecard_request.rb +1 -1
  18. data/lib/stack_one/models/operations/ats_get_assessments_package_request.rb +1 -1
  19. data/lib/stack_one/models/operations/ats_get_assessments_request_request.rb +1 -1
  20. data/lib/stack_one/models/operations/ats_get_assessments_result_request.rb +1 -1
  21. data/lib/stack_one/models/operations/ats_get_background_check_package_request.rb +1 -1
  22. data/lib/stack_one/models/operations/ats_get_background_check_request_request.rb +1 -1
  23. data/lib/stack_one/models/operations/ats_get_background_check_result_request.rb +1 -1
  24. data/lib/stack_one/models/operations/ats_get_candidate_custom_field_definition_request.rb +2 -2
  25. data/lib/stack_one/models/operations/ats_get_candidate_note_request.rb +1 -1
  26. data/lib/stack_one/models/operations/ats_get_candidate_request.rb +1 -1
  27. data/lib/stack_one/models/operations/ats_get_department_request.rb +1 -1
  28. data/lib/stack_one/models/operations/ats_get_interview_request.rb +1 -1
  29. data/lib/stack_one/models/operations/ats_get_interview_stage_request.rb +1 -1
  30. data/lib/stack_one/models/operations/ats_get_job_custom_field_definition_request.rb +2 -2
  31. data/lib/stack_one/models/operations/ats_get_job_posting_request.rb +1 -1
  32. data/lib/stack_one/models/operations/ats_get_job_request.rb +1 -1
  33. data/lib/stack_one/models/operations/ats_get_list_request.rb +1 -1
  34. data/lib/stack_one/models/operations/ats_get_location_request.rb +1 -1
  35. data/lib/stack_one/models/operations/ats_get_offer_request.rb +1 -1
  36. data/lib/stack_one/models/operations/ats_get_rejected_reason_request.rb +1 -1
  37. data/lib/stack_one/models/operations/ats_get_user_request.rb +1 -1
  38. data/lib/stack_one/models/operations/ats_list_application_custom_field_definitions_request.rb +2 -2
  39. data/lib/stack_one/models/operations/ats_list_application_documents_request.rb +2 -2
  40. data/lib/stack_one/models/operations/ats_list_application_notes_request.rb +2 -2
  41. data/lib/stack_one/models/operations/ats_list_application_scorecards_request.rb +2 -2
  42. data/lib/stack_one/models/operations/ats_list_applications_offers_request.rb +2 -2
  43. data/lib/stack_one/models/operations/ats_list_applications_request.rb +2 -2
  44. data/lib/stack_one/models/operations/ats_list_applications_scheduled_interviews_request.rb +2 -2
  45. data/lib/stack_one/models/operations/ats_list_assessments_packages_request.rb +2 -2
  46. data/lib/stack_one/models/operations/ats_list_background_check_packages_request.rb +2 -2
  47. data/lib/stack_one/models/operations/ats_list_background_check_request_request.rb +2 -2
  48. data/lib/stack_one/models/operations/ats_list_candidate_custom_field_definitions_request.rb +2 -2
  49. data/lib/stack_one/models/operations/ats_list_candidate_notes_request.rb +2 -2
  50. data/lib/stack_one/models/operations/ats_list_candidates_request.rb +2 -2
  51. data/lib/stack_one/models/operations/ats_list_departments_request.rb +2 -2
  52. data/lib/stack_one/models/operations/ats_list_interview_stages_request.rb +2 -2
  53. data/lib/stack_one/models/operations/ats_list_interviews_request.rb +2 -2
  54. data/lib/stack_one/models/operations/ats_list_job_custom_field_definitions_request.rb +2 -2
  55. data/lib/stack_one/models/operations/ats_list_job_postings_request.rb +2 -2
  56. data/lib/stack_one/models/operations/ats_list_jobs_request.rb +2 -2
  57. data/lib/stack_one/models/operations/ats_list_lists_request.rb +2 -2
  58. data/lib/stack_one/models/operations/ats_list_locations_request.rb +2 -2
  59. data/lib/stack_one/models/operations/ats_list_offers_request.rb +2 -2
  60. data/lib/stack_one/models/operations/ats_list_rejected_reasons_request.rb +2 -2
  61. data/lib/stack_one/models/operations/ats_list_users_request.rb +2 -2
  62. data/lib/stack_one/models/operations/crm_get_account_request.rb +1 -1
  63. data/lib/stack_one/models/operations/crm_get_contact_custom_field_definition_request.rb +2 -2
  64. data/lib/stack_one/models/operations/crm_get_contact_request.rb +1 -1
  65. data/lib/stack_one/models/operations/crm_get_list_request.rb +1 -1
  66. data/lib/stack_one/models/operations/crm_list_accounts_request.rb +2 -2
  67. data/lib/stack_one/models/operations/crm_list_contact_custom_field_definitions_request.rb +2 -2
  68. data/lib/stack_one/models/operations/crm_list_contacts_request.rb +2 -2
  69. data/lib/stack_one/models/operations/crm_list_lists_request.rb +2 -2
  70. data/lib/stack_one/models/operations/hris_get_benefit_request.rb +1 -1
  71. data/lib/stack_one/models/operations/hris_get_company_request.rb +1 -1
  72. data/lib/stack_one/models/operations/hris_get_cost_center_group_request.rb +1 -1
  73. data/lib/stack_one/models/operations/hris_get_department_group_request.rb +1 -1
  74. data/lib/stack_one/models/operations/hris_get_employee_custom_field_definition_request.rb +2 -2
  75. data/lib/stack_one/models/operations/hris_get_employee_document_category_request.rb +1 -1
  76. data/lib/stack_one/models/operations/hris_get_employee_document_request.rb +1 -1
  77. data/lib/stack_one/models/operations/hris_get_employee_employment_request.rb +1 -1
  78. data/lib/stack_one/models/operations/hris_get_employee_request.rb +1 -1
  79. data/lib/stack_one/models/operations/hris_get_employee_skill_request.rb +1 -1
  80. data/lib/stack_one/models/operations/hris_get_employee_time_off_balance_request.rb +1 -1
  81. data/lib/stack_one/models/operations/hris_get_employees_time_off_request_request.rb +1 -1
  82. data/lib/stack_one/models/operations/hris_get_employees_work_eligibility_request.rb +1 -1
  83. data/lib/stack_one/models/operations/hris_get_employment_request.rb +1 -1
  84. data/lib/stack_one/models/operations/hris_get_group_request.rb +1 -1
  85. data/lib/stack_one/models/operations/hris_get_job_request.rb +1 -1
  86. data/lib/stack_one/models/operations/hris_get_location_request.rb +1 -1
  87. data/lib/stack_one/models/operations/hris_get_location_response.rb +1 -1
  88. data/lib/stack_one/models/operations/hris_get_team_group_request.rb +1 -1
  89. data/lib/stack_one/models/operations/hris_get_time_entries_request.rb +1 -1
  90. data/lib/stack_one/models/operations/hris_get_time_off_policy_request.rb +1 -1
  91. data/lib/stack_one/models/operations/hris_get_time_off_request_request.rb +1 -1
  92. data/lib/stack_one/models/operations/hris_get_time_off_type_request.rb +1 -1
  93. data/lib/stack_one/models/operations/hris_list_benefits_request.rb +2 -2
  94. data/lib/stack_one/models/operations/hris_list_companies_request.rb +2 -2
  95. data/lib/stack_one/models/operations/hris_list_cost_center_groups_request.rb +2 -2
  96. data/lib/stack_one/models/operations/hris_list_department_groups_request.rb +2 -2
  97. data/lib/stack_one/models/operations/hris_list_employee_categories_request.rb +2 -2
  98. data/lib/stack_one/models/operations/hris_list_employee_custom_field_definitions_request.rb +2 -2
  99. data/lib/stack_one/models/operations/hris_list_employee_documents_request.rb +2 -2
  100. data/lib/stack_one/models/operations/hris_list_employee_employments_request.rb +2 -2
  101. data/lib/stack_one/models/operations/hris_list_employee_skills_request.rb +2 -2
  102. data/lib/stack_one/models/operations/hris_list_employee_time_off_balances_request.rb +2 -2
  103. data/lib/stack_one/models/operations/hris_list_employee_time_off_requests_request.rb +2 -2
  104. data/lib/stack_one/models/operations/hris_list_employee_work_eligibility_request.rb +2 -2
  105. data/lib/stack_one/models/operations/hris_list_employees_request.rb +2 -2
  106. data/lib/stack_one/models/operations/hris_list_employments_request.rb +2 -2
  107. data/lib/stack_one/models/operations/hris_list_groups_request.rb +2 -2
  108. data/lib/stack_one/models/operations/hris_list_jobs_request.rb +2 -2
  109. data/lib/stack_one/models/operations/hris_list_locations_request.rb +2 -2
  110. data/lib/stack_one/models/operations/hris_list_locations_response.rb +1 -1
  111. data/lib/stack_one/models/operations/hris_list_team_groups_request.rb +2 -2
  112. data/lib/stack_one/models/operations/hris_list_time_entries_request.rb +2 -2
  113. data/lib/stack_one/models/operations/hris_list_time_off_policies_request.rb +2 -2
  114. data/lib/stack_one/models/operations/hris_list_time_off_requests_request.rb +2 -2
  115. data/lib/stack_one/models/operations/hris_list_time_off_types_request.rb +2 -2
  116. data/lib/stack_one/models/operations/hris_update_employee_time_off_request_request.rb +33 -0
  117. data/lib/stack_one/models/operations/hris_update_employee_time_off_request_response.rb +36 -0
  118. data/lib/stack_one/models/operations/iam_delete_user_request.rb +27 -0
  119. data/lib/stack_one/models/operations/iam_delete_user_response.rb +36 -0
  120. data/lib/stack_one/models/operations/iam_get_group_request.rb +1 -1
  121. data/lib/stack_one/models/operations/iam_get_policy_request.rb +1 -1
  122. data/lib/stack_one/models/operations/iam_get_role_request.rb +1 -1
  123. data/lib/stack_one/models/operations/iam_get_user_request.rb +1 -1
  124. data/lib/stack_one/models/operations/iam_list_groups_request.rb +2 -2
  125. data/lib/stack_one/models/operations/iam_list_policies_request.rb +2 -2
  126. data/lib/stack_one/models/operations/iam_list_roles_request.rb +2 -2
  127. data/lib/stack_one/models/operations/iam_list_users_request.rb +2 -2
  128. data/lib/stack_one/models/operations/iam_update_user_request.rb +30 -0
  129. data/lib/stack_one/models/operations/iam_update_user_response.rb +36 -0
  130. data/lib/stack_one/models/operations/lms_get_assignment_request.rb +1 -1
  131. data/lib/stack_one/models/operations/lms_get_category_request.rb +1 -1
  132. data/lib/stack_one/models/operations/lms_get_completion_request.rb +1 -1
  133. data/lib/stack_one/models/operations/lms_get_content_request.rb +1 -1
  134. data/lib/stack_one/models/operations/lms_get_course_request.rb +1 -1
  135. data/lib/stack_one/models/operations/lms_get_skill_request.rb +1 -1
  136. data/lib/stack_one/models/operations/lms_get_user_assignment_request.rb +1 -1
  137. data/lib/stack_one/models/operations/lms_get_user_completion_request.rb +1 -1
  138. data/lib/stack_one/models/operations/lms_get_user_request.rb +1 -1
  139. data/lib/stack_one/models/operations/lms_list_assignments_request.rb +2 -2
  140. data/lib/stack_one/models/operations/lms_list_categories_request.rb +2 -2
  141. data/lib/stack_one/models/operations/lms_list_completions_request.rb +2 -2
  142. data/lib/stack_one/models/operations/lms_list_content_request.rb +2 -2
  143. data/lib/stack_one/models/operations/lms_list_courses_request.rb +2 -2
  144. data/lib/stack_one/models/operations/lms_list_skills_request.rb +2 -2
  145. data/lib/stack_one/models/operations/lms_list_user_assignments_request.rb +2 -2
  146. data/lib/stack_one/models/operations/lms_list_user_completions_request.rb +2 -2
  147. data/lib/stack_one/models/operations/lms_list_users_queryparam_filter.rb +5 -2
  148. data/lib/stack_one/models/operations/lms_list_users_request.rb +2 -2
  149. data/lib/stack_one/models/operations/marketing_get_campaign_request.rb +1 -1
  150. data/lib/stack_one/models/operations/marketing_get_content_block_request.rb +1 -1
  151. data/lib/stack_one/models/operations/marketing_get_email_template_request.rb +1 -1
  152. data/lib/stack_one/models/operations/marketing_get_in_app_template_request.rb +1 -1
  153. data/lib/stack_one/models/operations/marketing_get_omni_channel_template_request.rb +1 -1
  154. data/lib/stack_one/models/operations/marketing_get_push_template_request.rb +1 -1
  155. data/lib/stack_one/models/operations/marketing_get_sms_template_request.rb +1 -1
  156. data/lib/stack_one/models/operations/marketing_list_campaigns_request.rb +2 -2
  157. data/lib/stack_one/models/operations/marketing_list_content_blocks_request.rb +2 -2
  158. data/lib/stack_one/models/operations/marketing_list_email_templates_request.rb +2 -2
  159. data/lib/stack_one/models/operations/marketing_list_in_app_templates_request.rb +2 -2
  160. data/lib/stack_one/models/operations/marketing_list_omni_channel_templates_request.rb +2 -2
  161. data/lib/stack_one/models/operations/marketing_list_push_templates_request.rb +2 -2
  162. data/lib/stack_one/models/operations/marketing_list_sms_templates_request.rb +2 -2
  163. data/lib/stack_one/models/operations.rb +6 -0
  164. data/lib/stack_one/models/shared/atscreatejobrequestdto.rb +5 -2
  165. data/lib/stack_one/models/shared/atsupdatejobrequestdto.rb +5 -2
  166. data/lib/stack_one/models/shared/categories.rb +2 -0
  167. data/lib/stack_one/models/shared/company.rb +5 -2
  168. data/lib/stack_one/models/shared/connectorsmeta_category.rb +2 -0
  169. data/lib/stack_one/models/shared/connectsessioncreate_categories.rb +2 -0
  170. data/lib/stack_one/models/shared/connectsessiontokenauthlink_categories.rb +2 -0
  171. data/lib/stack_one/models/shared/createemploymentapimodel.rb +4 -5
  172. data/lib/stack_one/models/shared/employee_company.rb +5 -2
  173. data/lib/stack_one/models/shared/hriscreateemployeerequestdto.rb +10 -8
  174. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_employment.rb +56 -0
  175. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_pay_frequency.rb +27 -0
  176. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_pay_period.rb +27 -0
  177. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_contract_type.rb +27 -0
  178. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_employment_contract_type_value.rb +20 -0
  179. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_employment_type_value.rb +33 -0
  180. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_pay_period_value.rb +29 -0
  181. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_type.rb +27 -0
  182. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_value.rb +31 -0
  183. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_state.rb +3 -3
  184. data/lib/stack_one/models/shared/hriscreateemploymentrequestdto.rb +4 -5
  185. data/lib/stack_one/models/shared/hriscreatetimeoffrequestdto.rb +2 -0
  186. data/lib/stack_one/models/shared/hriscreatetimeoffrequestdto_type.rb +2 -0
  187. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto.rb +8 -8
  188. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_employment.rb +56 -0
  189. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_pay_frequency.rb +27 -0
  190. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_pay_period.rb +27 -0
  191. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_contract_type.rb +27 -0
  192. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_employment_contract_type_value.rb +20 -0
  193. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_employment_type_value.rb +33 -0
  194. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_pay_period_value.rb +29 -0
  195. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_type.rb +27 -0
  196. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_value.rb +31 -0
  197. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_state.rb +3 -3
  198. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_state.rb +3 -3
  199. data/lib/stack_one/models/shared/iamupdateuserrequestdto.rb +45 -0
  200. data/lib/stack_one/models/shared/iamupdateuserrequestdto_status.rb +27 -0
  201. data/lib/stack_one/models/shared/iamupdateuserrequestdto_value.rb +20 -0
  202. data/lib/stack_one/models/shared/job.rb +5 -2
  203. data/lib/stack_one/models/shared/linkedaccountmeta_category.rb +2 -0
  204. data/lib/stack_one/models/shared/rawresponse.rb +2 -2
  205. data/lib/stack_one/models/shared/state.rb +3 -3
  206. data/lib/stack_one/models/shared/timeoff.rb +2 -0
  207. data/lib/stack_one/models/shared/timeoff_type.rb +2 -0
  208. data/lib/stack_one/models/shared/updateemployeeapimodel.rb +8 -8
  209. data/lib/stack_one/models/shared/updateemployeeapimodel_employment.rb +56 -0
  210. data/lib/stack_one/models/shared/updateemployeeapimodel_pay_frequency.rb +27 -0
  211. data/lib/stack_one/models/shared/updateemployeeapimodel_pay_period.rb +27 -0
  212. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_employment_contract_type.rb +27 -0
  213. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_employment_employment_contract_type_value.rb +20 -0
  214. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_employment_employment_type_value.rb +33 -0
  215. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_employment_pay_period_value.rb +29 -0
  216. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_employment_type.rb +27 -0
  217. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_employment_value.rb +31 -0
  218. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_state.rb +3 -3
  219. data/lib/stack_one/models/shared/updateemployeeapimodel_state.rb +3 -3
  220. data/lib/stack_one/models/shared/updatepackage.rb +5 -2
  221. data/lib/stack_one/models/shared/updateuserapimodel.rb +45 -0
  222. data/lib/stack_one/models/shared/updateuserapimodel_status.rb +27 -0
  223. data/lib/stack_one/models/shared/updateuserapimodel_value.rb +20 -0
  224. data/lib/stack_one/models/shared.rb +33 -6
  225. data/lib/stack_one/proxy.rb +80 -11
  226. data/lib/stack_one/sdk_hooks/hooks.rb +101 -0
  227. data/lib/stack_one/sdk_hooks/types.rb +152 -0
  228. data/lib/stack_one/sdkconfiguration.rb +25 -7
  229. data/lib/stack_one/stackone.rb +29 -10
  230. data/lib/stack_one/utils/retries.rb +95 -0
  231. data/lib/stack_one/utils/utils.rb +10 -0
  232. metadata +74 -10
  233. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_home_location_state_value.rb +0 -3840
  234. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_work_location_state_value.rb +0 -3840
  235. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_home_location_state_value.rb +0 -3840
  236. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_work_location_state_value.rb +0 -3840
  237. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_home_location_state_value.rb +0 -3840
  238. data/lib/stack_one/models/shared/updateemployeeapimodel_schemas_work_location_state_value.rb +0 -3840
@@ -5,7 +5,10 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
9
12
 
10
13
  module StackOne
11
14
  extend T::Sig
@@ -19,8 +22,8 @@ module StackOne
19
22
  end
20
23
 
21
24
 
22
- sig { params(request: ::StackOne::Shared::ConnectSessionAuthenticate).returns(::StackOne::Operations::StackoneAuthenticateConnectSessionResponse) }
23
- def authenticate_connect_session(request)
25
+ sig { params(request: ::StackOne::Shared::ConnectSessionAuthenticate, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(::StackOne::Operations::StackoneAuthenticateConnectSessionResponse) }
26
+ def authenticate_connect_session(request, retries = nil, timeout_ms = nil)
24
27
  # authenticate_connect_session - Authenticate Connect Session
25
28
  url, params = @sdk_configuration.get_server_details
26
29
  base_url = Utils.template_url(url, params)
@@ -29,19 +32,85 @@ module StackOne
29
32
  req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
30
33
  headers['content-type'] = req_content_type
31
34
  raise StandardError, 'request body is required' if data.nil? && form.nil?
35
+
36
+ if form
37
+ body = Utils.encode_form(form)
38
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
39
+ body = URI.encode_www_form(data)
40
+ else
41
+ body = data
42
+ end
32
43
  headers['Accept'] = 'application/json'
33
44
  headers['user-agent'] = @sdk_configuration.user_agent
45
+ retries ||= @sdk_configuration.retry_config
46
+ retries ||= Utils::RetryConfig.new(
47
+ backoff: Utils::BackoffStrategy.new(
48
+ exponent: 1.5,
49
+ initial_interval: 500,
50
+ max_elapsed_time: 3_600_000,
51
+ max_interval: 60_000
52
+ ),
53
+ retry_connection_errors: true,
54
+ strategy: 'backoff'
55
+ )
56
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
57
+ retry_options[:retry_statuses] = [429, 408]
58
+
59
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
60
+
61
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
62
+ timeout ||= @sdk_configuration.timeout
34
63
 
35
- r = @sdk_configuration.client.post(url) do |req|
36
- req.headers = headers
37
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
38
- Utils.configure_request_security(req, security) if !security.nil?
39
- if form
40
- req.body = Utils.encode_form(form)
41
- elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
42
- req.body = URI.encode_www_form(data)
64
+ connection = @sdk_configuration.client.dup
65
+ connection.request :retry, retry_options
66
+
67
+ hook_ctx = SDKHooks::HookContext.new(
68
+ base_url: base_url,
69
+ oauth2_scopes: [],
70
+ operation_id: 'stackone_authenticate_connect_session',
71
+ security_source: @sdk_configuration.security_source
72
+ )
73
+
74
+ error = T.let(nil, T.nilable(StandardError))
75
+ r = T.let(nil, T.nilable(Faraday::Response))
76
+
77
+ begin
78
+ r = connection.post(url) do |req|
79
+ req.body = body
80
+ req.headers.merge!(headers)
81
+ req.options.timeout = timeout unless timeout.nil?
82
+ Utils.configure_request_security(req, security)
83
+
84
+ @sdk_configuration.hooks.before_request(
85
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
86
+ hook_ctx: hook_ctx
87
+ ),
88
+ request: req
89
+ )
90
+ end
91
+ rescue StandardError => e
92
+ error = e
93
+ ensure
94
+ if r.nil? || Utils.error_status?(r.status)
95
+ r = @sdk_configuration.hooks.after_error(
96
+ error: error,
97
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
98
+ hook_ctx: hook_ctx
99
+ ),
100
+ response: r
101
+ )
43
102
  else
44
- req.body = data
103
+ r = @sdk_configuration.hooks.after_success(
104
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
105
+ hook_ctx: hook_ctx
106
+ ),
107
+ response: r
108
+ )
109
+ end
110
+
111
+ if r.nil?
112
+ raise error if !error.nil?
113
+ raise 'no response'
45
114
  end
46
115
  end
47
116
 
@@ -65,8 +134,8 @@ module StackOne
65
134
  end
66
135
 
67
136
 
68
- sig { params(request: ::StackOne::Shared::ConnectSessionCreate).returns(::StackOne::Operations::StackoneCreateConnectSessionResponse) }
69
- def create_connect_session(request)
137
+ sig { params(request: ::StackOne::Shared::ConnectSessionCreate, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(::StackOne::Operations::StackoneCreateConnectSessionResponse) }
138
+ def create_connect_session(request, retries = nil, timeout_ms = nil)
70
139
  # create_connect_session - Create Connect Session
71
140
  url, params = @sdk_configuration.get_server_details
72
141
  base_url = Utils.template_url(url, params)
@@ -75,19 +144,85 @@ module StackOne
75
144
  req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
76
145
  headers['content-type'] = req_content_type
77
146
  raise StandardError, 'request body is required' if data.nil? && form.nil?
147
+
148
+ if form
149
+ body = Utils.encode_form(form)
150
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
151
+ body = URI.encode_www_form(data)
152
+ else
153
+ body = data
154
+ end
78
155
  headers['Accept'] = 'application/json'
79
156
  headers['user-agent'] = @sdk_configuration.user_agent
157
+ retries ||= @sdk_configuration.retry_config
158
+ retries ||= Utils::RetryConfig.new(
159
+ backoff: Utils::BackoffStrategy.new(
160
+ exponent: 1.5,
161
+ initial_interval: 500,
162
+ max_elapsed_time: 3_600_000,
163
+ max_interval: 60_000
164
+ ),
165
+ retry_connection_errors: true,
166
+ strategy: 'backoff'
167
+ )
168
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
169
+ retry_options[:retry_statuses] = [429, 408]
170
+
171
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
172
+
173
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
174
+ timeout ||= @sdk_configuration.timeout
80
175
 
81
- r = @sdk_configuration.client.post(url) do |req|
82
- req.headers = headers
83
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
84
- Utils.configure_request_security(req, security) if !security.nil?
85
- if form
86
- req.body = Utils.encode_form(form)
87
- elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
88
- req.body = URI.encode_www_form(data)
176
+ connection = @sdk_configuration.client.dup
177
+ connection.request :retry, retry_options
178
+
179
+ hook_ctx = SDKHooks::HookContext.new(
180
+ base_url: base_url,
181
+ oauth2_scopes: [],
182
+ operation_id: 'stackone_create_connect_session',
183
+ security_source: @sdk_configuration.security_source
184
+ )
185
+
186
+ error = T.let(nil, T.nilable(StandardError))
187
+ r = T.let(nil, T.nilable(Faraday::Response))
188
+
189
+ begin
190
+ r = connection.post(url) do |req|
191
+ req.body = body
192
+ req.headers.merge!(headers)
193
+ req.options.timeout = timeout unless timeout.nil?
194
+ Utils.configure_request_security(req, security)
195
+
196
+ @sdk_configuration.hooks.before_request(
197
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
198
+ hook_ctx: hook_ctx
199
+ ),
200
+ request: req
201
+ )
202
+ end
203
+ rescue StandardError => e
204
+ error = e
205
+ ensure
206
+ if r.nil? || Utils.error_status?(r.status)
207
+ r = @sdk_configuration.hooks.after_error(
208
+ error: error,
209
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
210
+ hook_ctx: hook_ctx
211
+ ),
212
+ response: r
213
+ )
89
214
  else
90
- req.body = data
215
+ r = @sdk_configuration.hooks.after_success(
216
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
217
+ hook_ctx: hook_ctx
218
+ ),
219
+ response: r
220
+ )
221
+ end
222
+
223
+ if r.nil?
224
+ raise error if !error.nil?
225
+ raise 'no response'
91
226
  end
92
227
  end
93
228
 
@@ -5,7 +5,10 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
9
12
 
10
13
  module StackOne
11
14
  extend T::Sig
@@ -19,8 +22,8 @@ module StackOne
19
22
  end
20
23
 
21
24
 
22
- sig { params(provider: ::String, include: T.nilable(::String)).returns(::StackOne::Operations::StackoneGetConnectorMetaResponse) }
23
- def get_connector_meta(provider, include = nil)
25
+ sig { params(provider: ::String, include: T.nilable(::String), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(::StackOne::Operations::StackoneGetConnectorMetaResponse) }
26
+ def get_connector_meta(provider, include = nil, retries = nil, timeout_ms = nil)
24
27
  # get_connector_meta - Get Connector Meta information for the given provider key
25
28
  request = ::StackOne::Operations::StackoneGetConnectorMetaRequest.new(
26
29
 
@@ -39,12 +42,76 @@ module StackOne
39
42
  query_params = Utils.get_query_params(::StackOne::Operations::StackoneGetConnectorMetaRequest, request)
40
43
  headers['Accept'] = 'application/json'
41
44
  headers['user-agent'] = @sdk_configuration.user_agent
45
+ retries ||= @sdk_configuration.retry_config
46
+ retries ||= Utils::RetryConfig.new(
47
+ backoff: Utils::BackoffStrategy.new(
48
+ exponent: 1.5,
49
+ initial_interval: 500,
50
+ max_elapsed_time: 3_600_000,
51
+ max_interval: 60_000
52
+ ),
53
+ retry_connection_errors: true,
54
+ strategy: 'backoff'
55
+ )
56
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
57
+ retry_options[:retry_statuses] = [429, 408]
58
+
59
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
60
+
61
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
62
+ timeout ||= @sdk_configuration.timeout
63
+
64
+ connection = @sdk_configuration.client.dup
65
+ connection.request :retry, retry_options
66
+
67
+ hook_ctx = SDKHooks::HookContext.new(
68
+ base_url: base_url,
69
+ oauth2_scopes: [],
70
+ operation_id: 'stackone_get_connector_meta',
71
+ security_source: @sdk_configuration.security_source
72
+ )
42
73
 
43
- r = @sdk_configuration.client.get(url) do |req|
44
- req.headers = headers
45
- req.params = query_params
46
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
47
- Utils.configure_request_security(req, security) if !security.nil?
74
+ error = T.let(nil, T.nilable(StandardError))
75
+ r = T.let(nil, T.nilable(Faraday::Response))
76
+
77
+ begin
78
+ r = connection.get(url) do |req|
79
+ req.headers.merge!(headers)
80
+ req.options.timeout = timeout unless timeout.nil?
81
+ req.params = query_params
82
+ Utils.configure_request_security(req, security)
83
+
84
+ @sdk_configuration.hooks.before_request(
85
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
86
+ hook_ctx: hook_ctx
87
+ ),
88
+ request: req
89
+ )
90
+ end
91
+ rescue StandardError => e
92
+ error = e
93
+ ensure
94
+ if r.nil? || Utils.error_status?(r.status)
95
+ r = @sdk_configuration.hooks.after_error(
96
+ error: error,
97
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
98
+ hook_ctx: hook_ctx
99
+ ),
100
+ response: r
101
+ )
102
+ else
103
+ r = @sdk_configuration.hooks.after_success(
104
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
105
+ hook_ctx: hook_ctx
106
+ ),
107
+ response: r
108
+ )
109
+ end
110
+
111
+ if r.nil?
112
+ raise error if !error.nil?
113
+ raise 'no response'
114
+ end
48
115
  end
49
116
 
50
117
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -67,8 +134,8 @@ module StackOne
67
134
  end
68
135
 
69
136
 
70
- sig { params(include: T.nilable(::String)).returns(::StackOne::Operations::StackoneListConnectorsMetaResponse) }
71
- def list_connectors_meta(include = nil)
137
+ sig { params(include: T.nilable(::String), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(::StackOne::Operations::StackoneListConnectorsMetaResponse) }
138
+ def list_connectors_meta(include = nil, retries = nil, timeout_ms = nil)
72
139
  # list_connectors_meta - List Connectors Meta Information for all providers
73
140
  request = ::StackOne::Operations::StackoneListConnectorsMetaRequest.new(
74
141
 
@@ -81,12 +148,76 @@ module StackOne
81
148
  query_params = Utils.get_query_params(::StackOne::Operations::StackoneListConnectorsMetaRequest, request)
82
149
  headers['Accept'] = 'application/json'
83
150
  headers['user-agent'] = @sdk_configuration.user_agent
151
+ retries ||= @sdk_configuration.retry_config
152
+ retries ||= Utils::RetryConfig.new(
153
+ backoff: Utils::BackoffStrategy.new(
154
+ exponent: 1.5,
155
+ initial_interval: 500,
156
+ max_elapsed_time: 3_600_000,
157
+ max_interval: 60_000
158
+ ),
159
+ retry_connection_errors: true,
160
+ strategy: 'backoff'
161
+ )
162
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
163
+ retry_options[:retry_statuses] = [429, 408]
164
+
165
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
166
+
167
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
168
+ timeout ||= @sdk_configuration.timeout
169
+
170
+ connection = @sdk_configuration.client.dup
171
+ connection.request :retry, retry_options
172
+
173
+ hook_ctx = SDKHooks::HookContext.new(
174
+ base_url: base_url,
175
+ oauth2_scopes: [],
176
+ operation_id: 'stackone_list_connectors_meta',
177
+ security_source: @sdk_configuration.security_source
178
+ )
84
179
 
85
- r = @sdk_configuration.client.get(url) do |req|
86
- req.headers = headers
87
- req.params = query_params
88
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
89
- Utils.configure_request_security(req, security) if !security.nil?
180
+ error = T.let(nil, T.nilable(StandardError))
181
+ r = T.let(nil, T.nilable(Faraday::Response))
182
+
183
+ begin
184
+ r = connection.get(url) do |req|
185
+ req.headers.merge!(headers)
186
+ req.options.timeout = timeout unless timeout.nil?
187
+ req.params = query_params
188
+ Utils.configure_request_security(req, security)
189
+
190
+ @sdk_configuration.hooks.before_request(
191
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
192
+ hook_ctx: hook_ctx
193
+ ),
194
+ request: req
195
+ )
196
+ end
197
+ rescue StandardError => e
198
+ error = e
199
+ ensure
200
+ if r.nil? || Utils.error_status?(r.status)
201
+ r = @sdk_configuration.hooks.after_error(
202
+ error: error,
203
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
204
+ hook_ctx: hook_ctx
205
+ ),
206
+ response: r
207
+ )
208
+ else
209
+ r = @sdk_configuration.hooks.after_success(
210
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
211
+ hook_ctx: hook_ctx
212
+ ),
213
+ response: r
214
+ )
215
+ end
216
+
217
+ if r.nil?
218
+ raise error if !error.nil?
219
+ raise 'no response'
220
+ end
90
221
  end
91
222
 
92
223
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')