fern_gusto 0.0.6.pre.alpha6

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 (515) hide show
  1. checksums.yaml +7 -0
  2. data/lib/base_gusto.rb +175 -0
  3. data/lib/core/file_utilities.rb +27 -0
  4. data/lib/environment.rb +9 -0
  5. data/lib/fern_gusto/ach_transactions/client.rb +119 -0
  6. data/lib/fern_gusto/admins/types/admin.rb +82 -0
  7. data/lib/fern_gusto/companies/attachments/client.rb +335 -0
  8. data/lib/fern_gusto/companies/attachments/types/attachments_create_request_category.rb +15 -0
  9. data/lib/fern_gusto/companies/attachments/types/attachments_get_download_url_response.rb +56 -0
  10. data/lib/fern_gusto/companies/bank_accounts/client.rb +435 -0
  11. data/lib/fern_gusto/companies/bank_accounts/types/bank_accounts_create_request_account_type.rb +15 -0
  12. data/lib/fern_gusto/companies/benefits/client.rb +862 -0
  13. data/lib/fern_gusto/companies/client.rb +1104 -0
  14. data/lib/fern_gusto/companies/departments/client.rb +587 -0
  15. data/lib/fern_gusto/companies/departments/types/departments_add_people_request_contractors_item.rb +59 -0
  16. data/lib/fern_gusto/companies/departments/types/departments_add_people_request_employees_item.rb +59 -0
  17. data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_contractors_item.rb +59 -0
  18. data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_employees_item.rb +59 -0
  19. data/lib/fern_gusto/companies/employees/client.rb +376 -0
  20. data/lib/fern_gusto/companies/external_payrolls/client.rb +605 -0
  21. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item.rb +98 -0
  22. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_benefits_item.rb +79 -0
  23. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item.rb +87 -0
  24. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item_earning_type.rb +15 -0
  25. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_taxes_item.rb +69 -0
  26. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_tax_liabilities_request_liability_selections_item.rb +80 -0
  27. data/lib/fern_gusto/companies/federal_tax_details/client.rb +212 -0
  28. data/lib/fern_gusto/companies/federal_tax_details/types/federal_tax_details_update_request_tax_payer_type.rb +25 -0
  29. data/lib/fern_gusto/companies/forms/client.rb +345 -0
  30. data/lib/fern_gusto/companies/industry_selection/client.rb +207 -0
  31. data/lib/fern_gusto/companies/locations/client.rb +417 -0
  32. data/lib/fern_gusto/companies/pay_schedules/client.rb +377 -0
  33. data/lib/fern_gusto/companies/payment_configs/client.rb +198 -0
  34. data/lib/fern_gusto/companies/payment_configs/types/payment_configs_update_request_payment_speed.rb +19 -0
  35. data/lib/fern_gusto/companies/signatories/client.rb +513 -0
  36. data/lib/fern_gusto/companies/signatories/types/signatories_create_request_home_address.rb +89 -0
  37. data/lib/fern_gusto/companies/signatories/types/signatories_update_request_home_address.rb +88 -0
  38. data/lib/fern_gusto/companies/tax_requirements/client.rb +367 -0
  39. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_list_response_item.rb +75 -0
  40. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item.rb +88 -0
  41. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item_requirements_item.rb +70 -0
  42. data/lib/fern_gusto/companies/types/companies_accept_terms_response.rb +56 -0
  43. data/lib/fern_gusto/companies/types/companies_create_request_company.rb +83 -0
  44. data/lib/fern_gusto/companies/types/companies_create_request_user.rb +81 -0
  45. data/lib/fern_gusto/companies/types/companies_create_response.rb +82 -0
  46. data/lib/fern_gusto/companies/types/companies_get_custom_fields_response.rb +59 -0
  47. data/lib/fern_gusto/companies/types/companies_migrate_to_embedded_payroll_response.rb +68 -0
  48. data/lib/fern_gusto/companies/types/companies_retrieve_terms_response.rb +56 -0
  49. data/lib/fern_gusto/companies/types/company.rb +223 -0
  50. data/lib/fern_gusto/companies/types/company_company_status.rb +21 -0
  51. data/lib/fern_gusto/companies/types/company_compensations.rb +85 -0
  52. data/lib/fern_gusto/companies/types/company_compensations_fixed_item.rb +55 -0
  53. data/lib/fern_gusto/companies/types/company_compensations_hourly_item.rb +65 -0
  54. data/lib/fern_gusto/companies/types/company_compensations_paid_time_off_item.rb +55 -0
  55. data/lib/fern_gusto/companies/types/company_entity_type.rb +23 -0
  56. data/lib/fern_gusto/companies/types/company_funding_type.rb +15 -0
  57. data/lib/fern_gusto/companies/types/company_onboarding_status.rb +77 -0
  58. data/lib/fern_gusto/companies/types/company_onboarding_status_onboarding_steps_item.rb +97 -0
  59. data/lib/fern_gusto/companies/types/company_pay_schedule_type.rb +15 -0
  60. data/lib/fern_gusto/companies/types/company_primary_payroll_admin.rb +80 -0
  61. data/lib/fern_gusto/companies/types/company_primary_signatory.rb +100 -0
  62. data/lib/fern_gusto/companies/types/company_primary_signatory_home_address.rb +93 -0
  63. data/lib/fern_gusto/companies/types/company_tier.rb +20 -0
  64. data/lib/fern_gusto/company_attachment/types/company_attachment.rb +81 -0
  65. data/lib/fern_gusto/company_attachment/types/company_attachment_category.rb +13 -0
  66. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account.rb +157 -0
  67. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_account_type.rb +13 -0
  68. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_plaid_status.rb +14 -0
  69. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_status.rb +19 -0
  70. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_type.rb +17 -0
  71. data/lib/fern_gusto/company_benefits/types/benefit_summary.rb +104 -0
  72. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees.rb +113 -0
  73. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits.rb +107 -0
  74. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits_pay_period.rb +67 -0
  75. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements.rb +156 -0
  76. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up.rb +86 -0
  77. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up_default_value.rb +67 -0
  78. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum.rb +88 -0
  79. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum_default_value.rb +68 -0
  80. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution.rb +86 -0
  81. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution_default_value.rb +67 -0
  82. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount.rb +87 -0
  83. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount_default_value.rb +67 -0
  84. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier.rb +88 -0
  85. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier_default_value.rb +67 -0
  86. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage.rb +88 -0
  87. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage_default_value.rb +67 -0
  88. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction.rb +88 -0
  89. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction_default_value.rb +67 -0
  90. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option.rb +86 -0
  91. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option_default_value.rb +67 -0
  92. data/lib/fern_gusto/contractor/types/contractor_onboarding_info.rb +78 -0
  93. data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_status.rb +14 -0
  94. data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_steps_item.rb +88 -0
  95. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group.rb +145 -0
  96. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_payment_method.rb +15 -0
  97. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_status.rb +16 -0
  98. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_wage_type.rb +13 -0
  99. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group.rb +127 -0
  100. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal.rb +116 -0
  101. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_status.rb +16 -0
  102. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_totals.rb +74 -0
  103. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_status.rb +16 -0
  104. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_totals.rb +74 -0
  105. data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account.rb +94 -0
  106. data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account_account_type.rb +13 -0
  107. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method.rb +96 -0
  108. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_split_by.rb +15 -0
  109. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_type.rb +14 -0
  110. data/lib/fern_gusto/contractor_payments/types/contractor_payment.rb +146 -0
  111. data/lib/fern_gusto/contractor_payments/types/contractor_payment_payment_method.rb +15 -0
  112. data/lib/fern_gusto/contractor_payments/types/contractor_payment_status.rb +13 -0
  113. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary.rb +81 -0
  114. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates.rb +81 -0
  115. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_contractor_payments_item.rb +93 -0
  116. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_total.rb +67 -0
  117. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_contractor_payments_item.rb +86 -0
  118. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_total.rb +67 -0
  119. data/lib/fern_gusto/contractor_payments/types/contractor_payment_wage_type.rb +13 -0
  120. data/lib/fern_gusto/contractors/client.rb +1025 -0
  121. data/lib/fern_gusto/contractors/documents/client.rb +269 -0
  122. data/lib/fern_gusto/contractors/documents/types/documents_sign_request_fields_item.rb +67 -0
  123. data/lib/fern_gusto/contractors/forms/client.rb +343 -0
  124. data/lib/fern_gusto/contractors/payment_groups/client.rb +569 -0
  125. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item.rb +102 -0
  126. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item_payment_method.rb +15 -0
  127. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item.rb +102 -0
  128. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item_payment_method.rb +15 -0
  129. data/lib/fern_gusto/contractors/payment_method/client.rb +369 -0
  130. data/lib/fern_gusto/contractors/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
  131. data/lib/fern_gusto/contractors/payment_method/types/payment_method_update_request_type.rb +17 -0
  132. data/lib/fern_gusto/contractors/payments/client.rb +558 -0
  133. data/lib/fern_gusto/contractors/payments/types/payments_create_request_payment_method.rb +15 -0
  134. data/lib/fern_gusto/contractors/payments/types/payments_list_response.rb +62 -0
  135. data/lib/fern_gusto/contractors/types/contractor.rb +227 -0
  136. data/lib/fern_gusto/contractors/types/contractor_address.rb +94 -0
  137. data/lib/fern_gusto/contractors/types/contractor_onboarding_status.rb +18 -0
  138. data/lib/fern_gusto/contractors/types/contractor_type.rb +13 -0
  139. data/lib/fern_gusto/contractors/types/contractor_wage_type.rb +13 -0
  140. data/lib/fern_gusto/custom_fields/types/company_custom_field.rb +88 -0
  141. data/lib/fern_gusto/custom_fields/types/custom_field_type.rb +16 -0
  142. data/lib/fern_gusto/custom_fields/types/employee_custom_field.rb +104 -0
  143. data/lib/fern_gusto/documents/types/document.rb +167 -0
  144. data/lib/fern_gusto/documents/types/document_fields_item.rb +114 -0
  145. data/lib/fern_gusto/documents/types/document_pages_item.rb +65 -0
  146. data/lib/fern_gusto/documents/types/document_recipient_type.rb +15 -0
  147. data/lib/fern_gusto/documents/types/document_signed.rb +137 -0
  148. data/lib/fern_gusto/documents/types/document_signed_recipient_type.rb +15 -0
  149. data/lib/fern_gusto/earning_types/types/earning_type.rb +66 -0
  150. data/lib/fern_gusto/employee_employments/types/unprocessed_termination_pay_period.rb +101 -0
  151. data/lib/fern_gusto/employee_payment_method/types/employee_bank_account.rb +94 -0
  152. data/lib/fern_gusto/employee_payment_method/types/employee_bank_account_account_type.rb +13 -0
  153. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_info.rb +96 -0
  154. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_split_by.rb +15 -0
  155. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_type.rb +14 -0
  156. data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax.rb +144 -0
  157. data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax_w4data_type.rb +13 -0
  158. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax.rb +90 -0
  159. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_answer.rb +74 -0
  160. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format.rb +69 -0
  161. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format_options_item.rb +67 -0
  162. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_question.rb +96 -0
  163. data/lib/fern_gusto/employees/adresses/client.rb +885 -0
  164. data/lib/fern_gusto/employees/benefits/client.rb +656 -0
  165. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution.rb +93 -0
  166. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_type.rb +23 -0
  167. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value.rb +67 -0
  168. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value_item.rb +80 -0
  169. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_deduction_reduces_taxable_income.rb +18 -0
  170. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution.rb +93 -0
  171. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_type.rb +23 -0
  172. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value.rb +67 -0
  173. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value_item.rb +80 -0
  174. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_deduction_reduces_taxable_income.rb +18 -0
  175. data/lib/fern_gusto/employees/client.rb +822 -0
  176. data/lib/fern_gusto/employees/employments/client.rb +799 -0
  177. data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item.rb +95 -0
  178. data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item_employment_status.rb +20 -0
  179. data/lib/fern_gusto/employees/forms/client.rb +433 -0
  180. data/lib/fern_gusto/employees/forms/types/forms_generate_w2response.rb +132 -0
  181. data/lib/fern_gusto/employees/garnishments/client.rb +558 -0
  182. data/lib/fern_gusto/employees/garnishments/types/garnishments_create_request_garnishment_type.rb +20 -0
  183. data/lib/fern_gusto/employees/jobs_and_compensations/client.rb +938 -0
  184. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_minimum_wages_item.rb +62 -0
  185. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_payment_unit.rb +19 -0
  186. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_minimum_wages_item.rb +62 -0
  187. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_payment_unit.rb +19 -0
  188. data/lib/fern_gusto/employees/payment_method/client.rb +484 -0
  189. data/lib/fern_gusto/employees/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
  190. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_bank_account_request_account_type.rb +14 -0
  191. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_split_by.rb +17 -0
  192. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb +83 -0
  193. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_type.rb +16 -0
  194. data/lib/fern_gusto/employees/tax_setup/client.rb +422 -0
  195. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb +73 -0
  196. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item.rb +73 -0
  197. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item_answers_item.rb +77 -0
  198. data/lib/fern_gusto/employees/types/employee.rb +281 -0
  199. data/lib/fern_gusto/employees/types/employee_current_employment_status.rb +20 -0
  200. data/lib/fern_gusto/employees/types/employee_onboarding_info.rb +77 -0
  201. data/lib/fern_gusto/employees/types/employee_onboarding_status.rb +19 -0
  202. data/lib/fern_gusto/employees/types/employee_onboarding_status_onboarding_steps_item.rb +88 -0
  203. data/lib/fern_gusto/employees/types/employee_payment_method.rb +13 -0
  204. data/lib/fern_gusto/employees/types/employees_get_custom_fields_response.rb +59 -0
  205. data/lib/fern_gusto/employees/types/employees_get_request_include.rb +12 -0
  206. data/lib/fern_gusto/events/client.rb +144 -0
  207. data/lib/fern_gusto/events/types/events_list_request_sort_order.rb +12 -0
  208. data/lib/fern_gusto/external_payrolls/types/external_payroll.rb +158 -0
  209. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_benefits_item.rb +73 -0
  210. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_earnings_item.rb +87 -0
  211. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_taxes_item.rb +85 -0
  212. data/lib/fern_gusto/external_payrolls/types/external_payroll_basic.rb +101 -0
  213. data/lib/fern_gusto/external_payrolls/types/external_payroll_basic_status.rb +16 -0
  214. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item.rb +93 -0
  215. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_benefits_item.rb +74 -0
  216. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_earnings_item.rb +81 -0
  217. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_taxes_item.rb +67 -0
  218. data/lib/fern_gusto/external_payrolls/types/external_payroll_metadata.rb +56 -0
  219. data/lib/fern_gusto/external_payrolls/types/external_payroll_status.rb +16 -0
  220. data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions.rb +72 -0
  221. data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions_tax_suggestions.rb +68 -0
  222. data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections.rb +86 -0
  223. data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb +75 -0
  224. data/lib/fern_gusto/federal_tax_details/types/federal_tax_details.rb +140 -0
  225. data/lib/fern_gusto/flows/client.rb +113 -0
  226. data/lib/fern_gusto/flows/types/flow.rb +66 -0
  227. data/lib/fern_gusto/flows/types/flows_create_request_entity_type.rb +14 -0
  228. data/lib/fern_gusto/forms/types/form.rb +123 -0
  229. data/lib/fern_gusto/forms/types/form1099.rb +126 -0
  230. data/lib/fern_gusto/generated_documents/client.rb +106 -0
  231. data/lib/fern_gusto/holiday_pay_policies/client.rb +599 -0
  232. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_add_employees_request_employees_item.rb +57 -0
  233. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays.rb +198 -0
  234. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_christmas_day.rb +57 -0
  235. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_columbus_day.rb +57 -0
  236. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_independence_day.rb +57 -0
  237. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_juneteenth.rb +57 -0
  238. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_labor_day.rb +57 -0
  239. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_memorial_day.rb +57 -0
  240. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_mlk_day.rb +57 -0
  241. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_new_years_day.rb +57 -0
  242. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_presidents_day.rb +57 -0
  243. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_thanksgiving.rb +57 -0
  244. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_veterans_day.rb +57 -0
  245. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_remove_employees_request_employees_item.rb +57 -0
  246. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays.rb +198 -0
  247. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_christmas_day.rb +57 -0
  248. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_columbus_day.rb +57 -0
  249. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_independence_day.rb +57 -0
  250. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_juneteenth.rb +57 -0
  251. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_labor_day.rb +57 -0
  252. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_memorial_day.rb +57 -0
  253. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_mlk_day.rb +57 -0
  254. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_new_years_day.rb +57 -0
  255. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_presidents_day.rb +57 -0
  256. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_thanksgiving.rb +57 -0
  257. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_veterans_day.rb +57 -0
  258. data/lib/fern_gusto/industry/types/industry.rb +87 -0
  259. data/lib/fern_gusto/invoices/client.rb +132 -0
  260. data/lib/fern_gusto/jobs_and_compensations/types/compensation.rb +120 -0
  261. data/lib/fern_gusto/jobs_and_compensations/types/compensation_payment_unit.rb +17 -0
  262. data/lib/fern_gusto/jobs_and_compensations/types/job.rb +161 -0
  263. data/lib/fern_gusto/locations/types/company_address.rb +103 -0
  264. data/lib/fern_gusto/locations/types/location.rb +171 -0
  265. data/lib/fern_gusto/notifications/client.rb +120 -0
  266. data/lib/fern_gusto/pay_schedules/types/pay_schedule.rb +151 -0
  267. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment.rb +103 -0
  268. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_department.rb +65 -0
  269. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee.rb +65 -0
  270. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee_change.rb +105 -0
  271. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_pay_period.rb +80 -0
  272. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview.rb +71 -0
  273. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview_type.rb +15 -0
  274. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_transition_pay_period.rb +68 -0
  275. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_type.rb +15 -0
  276. data/lib/fern_gusto/pay_schedules/types/pay_schedule_frequency.rb +17 -0
  277. data/lib/fern_gusto/payment_configs/types/payment_configs.rb +79 -0
  278. data/lib/fern_gusto/payroll/client.rb +1644 -0
  279. data/lib/fern_gusto/payroll/earning_types/client.rb +350 -0
  280. data/lib/fern_gusto/payroll/earning_types/types/earning_types_get_response.rb +74 -0
  281. data/lib/fern_gusto/payroll/external_payrolls/client.rb +199 -0
  282. data/lib/fern_gusto/payroll/pay_schedules/client.rb +584 -0
  283. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_create_request_frequency.rb +17 -0
  284. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_request_frequency.rb +16 -0
  285. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response.rb +72 -0
  286. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response_pay_periods_item.rb +83 -0
  287. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_update_request_frequency.rb +17 -0
  288. data/lib/fern_gusto/payroll/types/payroll_create_request_off_cycle_reason.rb +15 -0
  289. data/lib/fern_gusto/payroll/types/payroll_create_request_withholding_pay_period.rb +18 -0
  290. data/lib/fern_gusto/payroll/types/payroll_get_request_include_item.rb +14 -0
  291. data/lib/fern_gusto/payroll/types/payroll_list_request_include_item.rb +13 -0
  292. data/lib/fern_gusto/payroll/types/payroll_list_request_payroll_types_item.rb +13 -0
  293. data/lib/fern_gusto/payroll/types/payroll_list_request_processing_statuses_item.rb +12 -0
  294. data/lib/fern_gusto/payroll/types/payroll_list_request_sort_order.rb +12 -0
  295. data/lib/fern_gusto/payroll/types/payroll_skip_payroll_request_payroll_type.rb +15 -0
  296. data/lib/fern_gusto/payroll/types/payroll_submit_request_submission_blockers_item.rb +67 -0
  297. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item.rb +133 -0
  298. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_fixed_compensations_item.rb +79 -0
  299. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_hourly_compensations_item.rb +79 -0
  300. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_paid_time_off_item.rb +85 -0
  301. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_payment_method.rb +13 -0
  302. data/lib/fern_gusto/payrolls/types/employee_pay_stub.rb +94 -0
  303. data/lib/fern_gusto/payrolls/types/paid_time_off.rb +123 -0
  304. data/lib/fern_gusto/payrolls/types/paid_time_off_name.rb +14 -0
  305. data/lib/fern_gusto/payrolls/types/pay_period.rb +86 -0
  306. data/lib/fern_gusto/payrolls/types/pay_period_payroll.rb +107 -0
  307. data/lib/fern_gusto/payrolls/types/pay_period_payroll_payroll_type.rb +13 -0
  308. data/lib/fern_gusto/payrolls/types/payroll.rb +285 -0
  309. data/lib/fern_gusto/payrolls/types/payroll_minimal.rb +250 -0
  310. data/lib/fern_gusto/payrolls/types/payroll_prepared.rb +250 -0
  311. data/lib/fern_gusto/recovery_cases/client.rb +198 -0
  312. data/lib/fern_gusto/reports/client.rb +306 -0
  313. data/lib/fern_gusto/reports/types/reports_create_request_columns_item.rb +91 -0
  314. data/lib/fern_gusto/reports/types/reports_create_request_employment_status.rb +18 -0
  315. data/lib/fern_gusto/reports/types/reports_create_request_employment_type.rb +16 -0
  316. data/lib/fern_gusto/reports/types/reports_create_request_file_type.rb +13 -0
  317. data/lib/fern_gusto/reports/types/reports_create_request_groupings_item.rb +14 -0
  318. data/lib/fern_gusto/reports/types/reports_create_request_payment_method.rb +13 -0
  319. data/lib/fern_gusto/signatories/types/signatory.rb +175 -0
  320. data/lib/fern_gusto/signatories/types/signatory_home_address.rb +93 -0
  321. data/lib/fern_gusto/signatories/types/signatory_identity_verification_status.rb +28 -0
  322. data/lib/fern_gusto/terminations/types/termination.rb +109 -0
  323. data/lib/fern_gusto/time_off_policies/client.rb +863 -0
  324. data/lib/fern_gusto/time_off_policies/types/time_off_policies_add_employees_request_employees_item.rb +67 -0
  325. data/lib/fern_gusto/time_off_policies/types/time_off_policies_create_request_accrual_method.rb +19 -0
  326. data/lib/fern_gusto/time_off_policies/types/time_off_policies_remove_employees_request_employees_item.rb +57 -0
  327. data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_balance_request_employees_item.rb +67 -0
  328. data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_request_accrual_method.rb +19 -0
  329. data/lib/fern_gusto/time_off_requests/types/time_off_request.rb +141 -0
  330. data/lib/fern_gusto/time_off_requests/types/time_off_request_approver.rb +66 -0
  331. data/lib/fern_gusto/time_off_requests/types/time_off_request_employee.rb +66 -0
  332. data/lib/fern_gusto/time_off_requests/types/time_off_request_initiator.rb +66 -0
  333. data/lib/fern_gusto/time_off_requests/types/time_off_request_request_type.rb +13 -0
  334. data/lib/fern_gusto/time_off_requests/types/time_off_request_status.rb +14 -0
  335. data/lib/fern_gusto/token/client.rb +270 -0
  336. data/lib/fern_gusto/token/types/token_get_info_response.rb +85 -0
  337. data/lib/fern_gusto/token/types/token_get_info_response_resource.rb +64 -0
  338. data/lib/fern_gusto/token/types/token_get_info_response_resource_owner.rb +65 -0
  339. data/lib/fern_gusto/token/types/token_get_info_response_resource_owner_type.rb +13 -0
  340. data/lib/fern_gusto/token/types/token_get_system_access_token_response.rb +77 -0
  341. data/lib/fern_gusto/types/accruing_time_off_hour.rb +64 -0
  342. data/lib/fern_gusto/types/ach_transaction.rb +162 -0
  343. data/lib/fern_gusto/types/ach_transaction_payment_direction.rb +11 -0
  344. data/lib/fern_gusto/types/ach_transaction_payment_event_type.rb +11 -0
  345. data/lib/fern_gusto/types/ach_transaction_payment_status.rb +13 -0
  346. data/lib/fern_gusto/types/ach_transaction_recipient_type.rb +11 -0
  347. data/lib/fern_gusto/types/address.rb +111 -0
  348. data/lib/fern_gusto/types/authentication.rb +96 -0
  349. data/lib/fern_gusto/types/child_support_data.rb +58 -0
  350. data/lib/fern_gusto/types/child_support_data_agencies_item.rb +104 -0
  351. data/lib/fern_gusto/types/child_support_data_agencies_item_fips_codes_item.rb +67 -0
  352. data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item.rb +70 -0
  353. data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item_key.rb +14 -0
  354. data/lib/fern_gusto/types/company_benefit.rb +135 -0
  355. data/lib/fern_gusto/types/company_benefit_with_employee_benefits.rb +148 -0
  356. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item.rb +115 -0
  357. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution.rb +91 -0
  358. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value.rb +61 -0
  359. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers.rb +60 -0
  360. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item.rb +86 -0
  361. data/lib/fern_gusto/types/contractor_address_info.rb +118 -0
  362. data/lib/fern_gusto/types/contractor_body.rb +200 -0
  363. data/lib/fern_gusto/types/contractor_body_type.rb +11 -0
  364. data/lib/fern_gusto/types/contractor_body_wage_type.rb +11 -0
  365. data/lib/fern_gusto/types/contractor_payment_receipt.rb +161 -0
  366. data/lib/fern_gusto/types/contractor_payment_receipt_contractor_payments_item.rb +120 -0
  367. data/lib/fern_gusto/types/contractor_payment_receipt_licensee.rb +92 -0
  368. data/lib/fern_gusto/types/contractor_payment_receipt_totals.rb +54 -0
  369. data/lib/fern_gusto/types/create_report.rb +77 -0
  370. data/lib/fern_gusto/types/department.rb +103 -0
  371. data/lib/fern_gusto/types/department_contractors_item.rb +53 -0
  372. data/lib/fern_gusto/types/department_employees_item.rb +53 -0
  373. data/lib/fern_gusto/types/document_pdf.rb +63 -0
  374. data/lib/fern_gusto/types/employee_address.rb +139 -0
  375. data/lib/fern_gusto/types/employee_benefit.rb +220 -0
  376. data/lib/fern_gusto/types/employee_benefit_base_object.rb +199 -0
  377. data/lib/fern_gusto/types/employee_benefit_base_object_contribution.rb +89 -0
  378. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value.rb +61 -0
  379. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers.rb +59 -0
  380. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers_tiers_item.rb +85 -0
  381. data/lib/fern_gusto/types/employee_benefit_base_object_deduction_reduces_taxable_income.rb +14 -0
  382. data/lib/fern_gusto/types/employee_benefit_for_company_benefit.rb +220 -0
  383. data/lib/fern_gusto/types/employee_work_address.rb +137 -0
  384. data/lib/fern_gusto/types/entity_error_object.rb +102 -0
  385. data/lib/fern_gusto/types/entity_error_object_errors_item.rb +89 -0
  386. data/lib/fern_gusto/types/event.rb +99 -0
  387. data/lib/fern_gusto/types/flsa_status_type.rb +23 -0
  388. data/lib/fern_gusto/types/form_pdf.rb +63 -0
  389. data/lib/fern_gusto/types/garnishment.rb +172 -0
  390. data/lib/fern_gusto/types/garnishment_child_support.rb +113 -0
  391. data/lib/fern_gusto/types/garnishment_child_support_payment_period.rb +14 -0
  392. data/lib/fern_gusto/types/garnishment_garnishment_type.rb +16 -0
  393. data/lib/fern_gusto/types/generated_document.rb +70 -0
  394. data/lib/fern_gusto/types/gross_up_pay.rb +53 -0
  395. data/lib/fern_gusto/types/historical_employee_body.rb +156 -0
  396. data/lib/fern_gusto/types/historical_employee_body_employee_state_taxes.rb +80 -0
  397. data/lib/fern_gusto/types/historical_employee_body_home_address.rb +84 -0
  398. data/lib/fern_gusto/types/historical_employee_body_job.rb +53 -0
  399. data/lib/fern_gusto/types/historical_employee_body_termination.rb +53 -0
  400. data/lib/fern_gusto/types/historical_employee_body_work_address.rb +53 -0
  401. data/lib/fern_gusto/types/holiday_pay_policy.rb +88 -0
  402. data/lib/fern_gusto/types/holiday_pay_policy_employees_item.rb +53 -0
  403. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item.rb +179 -0
  404. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_columbus_day.rb +72 -0
  405. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_independence_day.rb +72 -0
  406. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_juneteenth.rb +72 -0
  407. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_labor_day.rb +72 -0
  408. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_memorial_day.rb +72 -0
  409. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_mlk_day.rb +72 -0
  410. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_new_years_day.rb +72 -0
  411. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_presidents_day.rb +72 -0
  412. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_thanksgiving.rb +72 -0
  413. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_veterans_day.rb +72 -0
  414. data/lib/fern_gusto/types/invoice_data.rb +58 -0
  415. data/lib/fern_gusto/types/invoice_data_active_companies_item.rb +91 -0
  416. data/lib/fern_gusto/types/minimum_wage.rb +96 -0
  417. data/lib/fern_gusto/types/notification.rb +125 -0
  418. data/lib/fern_gusto/types/notification_resources_item.rb +85 -0
  419. data/lib/fern_gusto/types/off_cycle_reason_type.rb +19 -0
  420. data/lib/fern_gusto/types/paid_holidays.rb +61 -0
  421. data/lib/fern_gusto/types/paid_holidays_schema.rb +77 -0
  422. data/lib/fern_gusto/types/pay_schedule_assignment_body.rb +111 -0
  423. data/lib/fern_gusto/types/pay_schedule_assignment_body_departments_item.rb +65 -0
  424. data/lib/fern_gusto/types/pay_schedule_assignment_body_employees_item.rb +64 -0
  425. data/lib/fern_gusto/types/pay_schedule_assignment_body_type.rb +13 -0
  426. data/lib/fern_gusto/types/payment_method_bank_account.rb +87 -0
  427. data/lib/fern_gusto/types/payroll_blocker.rb +63 -0
  428. data/lib/fern_gusto/types/payroll_blockers_error.rb +60 -0
  429. data/lib/fern_gusto/types/payroll_blockers_error_errors_item.rb +83 -0
  430. data/lib/fern_gusto/types/payroll_blockers_error_errors_item_metadata.rb +54 -0
  431. data/lib/fern_gusto/types/payroll_check.rb +84 -0
  432. data/lib/fern_gusto/types/payroll_company_taxes_type.rb +6 -0
  433. data/lib/fern_gusto/types/payroll_company_taxes_type_item.rb +70 -0
  434. data/lib/fern_gusto/types/payroll_credit_blockers_type.rb +6 -0
  435. data/lib/fern_gusto/types/payroll_credit_blockers_type_item.rb +89 -0
  436. data/lib/fern_gusto/types/payroll_credit_blockers_type_item_status.rb +13 -0
  437. data/lib/fern_gusto/types/payroll_credit_blockers_type_item_unblock_options_item.rb +72 -0
  438. data/lib/fern_gusto/types/payroll_employee_compensations_type.rb +6 -0
  439. data/lib/fern_gusto/types/payroll_employee_compensations_type_item.rb +216 -0
  440. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_benefits_item.rb +79 -0
  441. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_deductions_item.rb +65 -0
  442. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_fixed_compensations_item.rb +74 -0
  443. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_hourly_compensations_item.rb +92 -0
  444. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_paid_time_off_item.rb +76 -0
  445. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_payment_method.rb +11 -0
  446. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_taxes_item.rb +70 -0
  447. data/lib/fern_gusto/types/payroll_fixed_compensation_types_type.rb +6 -0
  448. data/lib/fern_gusto/types/payroll_fixed_compensation_types_type_item.rb +54 -0
  449. data/lib/fern_gusto/types/payroll_pay_period_type.rb +70 -0
  450. data/lib/fern_gusto/types/payroll_payment_speed_changed_type.rb +86 -0
  451. data/lib/fern_gusto/types/payroll_payroll_status_meta_type.rb +92 -0
  452. data/lib/fern_gusto/types/payroll_processing_request.rb +68 -0
  453. data/lib/fern_gusto/types/payroll_processing_request_status.rb +14 -0
  454. data/lib/fern_gusto/types/payroll_receipt.rb +177 -0
  455. data/lib/fern_gusto/types/payroll_receipt_employee_compensations_item.rb +116 -0
  456. data/lib/fern_gusto/types/payroll_receipt_licensee.rb +92 -0
  457. data/lib/fern_gusto/types/payroll_receipt_taxes_item.rb +63 -0
  458. data/lib/fern_gusto/types/payroll_receipt_totals.rb +85 -0
  459. data/lib/fern_gusto/types/payroll_reversal.rb +91 -0
  460. data/lib/fern_gusto/types/payroll_submission_blockers_type.rb +6 -0
  461. data/lib/fern_gusto/types/payroll_submission_blockers_type_item.rb +89 -0
  462. data/lib/fern_gusto/types/payroll_submission_blockers_type_item_status.rb +11 -0
  463. data/lib/fern_gusto/types/payroll_submission_blockers_type_item_unblock_options_item.rb +72 -0
  464. data/lib/fern_gusto/types/payroll_totals_type.rb +199 -0
  465. data/lib/fern_gusto/types/payroll_withholding_pay_period_type.rb +17 -0
  466. data/lib/fern_gusto/types/recovery_case.rb +131 -0
  467. data/lib/fern_gusto/types/recovery_case_status.rb +14 -0
  468. data/lib/fern_gusto/types/rehire.rb +116 -0
  469. data/lib/fern_gusto/types/rehire_body.rb +91 -0
  470. data/lib/fern_gusto/types/rehire_body_employment_status.rb +16 -0
  471. data/lib/fern_gusto/types/rehire_employment_status.rb +16 -0
  472. data/lib/fern_gusto/types/report.rb +72 -0
  473. data/lib/fern_gusto/types/report_template.rb +77 -0
  474. data/lib/fern_gusto/types/supported_benefit.rb +122 -0
  475. data/lib/fern_gusto/types/tax_requirement.rb +111 -0
  476. data/lib/fern_gusto/types/tax_requirement_applicable_if_item.rb +69 -0
  477. data/lib/fern_gusto/types/tax_requirement_applicable_if_item_value.rb +72 -0
  478. data/lib/fern_gusto/types/tax_requirement_effective_from.rb +5 -0
  479. data/lib/fern_gusto/types/tax_requirement_metadata.rb +182 -0
  480. data/lib/fern_gusto/types/tax_requirement_metadata_options_item.rb +70 -0
  481. data/lib/fern_gusto/types/tax_requirement_metadata_rate_type.rb +13 -0
  482. data/lib/fern_gusto/types/tax_requirement_metadata_type.rb +31 -0
  483. data/lib/fern_gusto/types/tax_requirement_metadata_validation.rb +81 -0
  484. data/lib/fern_gusto/types/tax_requirement_metadata_validation_type.rb +11 -0
  485. data/lib/fern_gusto/types/tax_requirement_set.rb +90 -0
  486. data/lib/fern_gusto/types/tax_requirements_state.rb +75 -0
  487. data/lib/fern_gusto/types/time_off_activity.rb +107 -0
  488. data/lib/fern_gusto/types/time_off_activity_time_off_type.rb +11 -0
  489. data/lib/fern_gusto/types/time_off_policy.rb +183 -0
  490. data/lib/fern_gusto/types/time_off_policy_employees_item.rb +53 -0
  491. data/lib/fern_gusto/types/time_off_policy_policy_type.rb +11 -0
  492. data/lib/fern_gusto/types/unprocessable_entity_error_body.rb +59 -0
  493. data/lib/fern_gusto/types/unprocessable_entity_error_body_errors.rb +57 -0
  494. data/lib/fern_gusto/types/unprocessable_entity_error_body_errors_base_item.rb +72 -0
  495. data/lib/fern_gusto/types/unprocessable_entity_error_body_item.rb +65 -0
  496. data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item.rb +69 -0
  497. data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item_answers_item.rb +72 -0
  498. data/lib/fern_gusto/types/unprocessable_entity_error_object.rb +63 -0
  499. data/lib/fern_gusto/types/versionable.rb +57 -0
  500. data/lib/fern_gusto/types/versionable_required.rb +55 -0
  501. data/lib/fern_gusto/types/wire_in_request.rb +170 -0
  502. data/lib/fern_gusto/types/wire_in_request_status.rb +14 -0
  503. data/lib/fern_gusto/webhooks/client.rb +627 -0
  504. data/lib/fern_gusto/webhooks/types/webhook_subscription.rb +82 -0
  505. data/lib/fern_gusto/webhooks/types/webhook_subscription_status.rb +14 -0
  506. data/lib/fern_gusto/webhooks/types/webhook_subscription_subscription_types_item.rb +25 -0
  507. data/lib/fern_gusto/webhooks/types/webhooks_create_request_subscription_types_item.rb +25 -0
  508. data/lib/fern_gusto/webhooks/types/webhooks_update_request_subscription_types_item.rb +25 -0
  509. data/lib/fern_gusto/wire_in_requests/client.rb +273 -0
  510. data/lib/fern_gusto.rb +310 -0
  511. data/lib/gemconfig.rb +13 -0
  512. data/lib/gusto_legacy.rb +19 -0
  513. data/lib/requests.rb +206 -0
  514. data/lib/types_export.rb +461 -0
  515. metadata +671 -0
@@ -0,0 +1,350 @@
1
+ # frozen_string_literal: true
2
+ require_relative "../../../requests"
3
+ require_relative "types/earning_types_get_response"
4
+ require_relative "../../earning_types/types/earning_type"
5
+ require "async"
6
+ require "async"
7
+ require "async"
8
+ require "async"
9
+ require_relative "../../../requests"
10
+
11
+ module Gusto
12
+ module Payroll
13
+ class EarningTypesClient
14
+ # @return [Gusto::RequestClient]
15
+ attr_reader :request_client
16
+
17
+
18
+ # @param request_client [Gusto::RequestClient]
19
+ # @return [Gusto::Payroll::EarningTypesClient]
20
+ def initialize(request_client:)
21
+ @request_client = request_client
22
+ end
23
+ # A payroll item in Gusto is associated to an earning type to name the type of
24
+ # earning described by the payroll item.
25
+ # #### Default Earning Type
26
+ # Certain earning types are special because they have tax considerations. Those
27
+ # earning types are mostly the same for every company depending on its legal
28
+ # structure (LLC, Corporation, etc.)
29
+ # #### Custom Earning Type
30
+ # Custom earning types are all the other earning types added specifically for a
31
+ # company.
32
+ # scope: `payrolls:read`
33
+ #
34
+ # @param company_id [String] The UUID of the company
35
+ # @param request_options [Gusto::RequestOptions]
36
+ # @return [Gusto::Payroll::EarningTypes::EarningTypesGetResponse]
37
+ # @example
38
+ # api = Gusto::Client.new(
39
+ # base_url: "https://api.example.com",
40
+ # environment: Gusto::Environment::DEMO,
41
+ # token: "YOUR_AUTH_TOKEN"
42
+ # )
43
+ # api.payroll.earning_types.get(company_id: "company_id")
44
+ def get(company_id:, request_options: nil)
45
+ response = @request_client.conn.get do | req |
46
+ unless request_options&.timeout_in_seconds.nil?
47
+ req.options.timeout = request_options.timeout_in_seconds
48
+ end
49
+ unless request_options&.token.nil?
50
+ req.headers["Authorization"] = request_options.token
51
+ end
52
+ unless request_options&.gusto_api_version.nil?
53
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
54
+ end
55
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
56
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
57
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
58
+ end
59
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
60
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
61
+ end
62
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types"
63
+ end
64
+ Gusto::Payroll::EarningTypes::EarningTypesGetResponse.from_json(json_object: response.body)
65
+ end
66
+ # Create a custom earning type.
67
+ # If an inactive earning type exists with the same name, this will reactivate it
68
+ # instead of creating a new one.
69
+ # scope: `payrolls:write`
70
+ #
71
+ # @param company_id [String] The UUID of the company
72
+ # @param name [String] The name of the custom earning type.
73
+ # @param request_options [Gusto::RequestOptions]
74
+ # @return [Gusto::EarningTypes::EarningType]
75
+ # @example
76
+ # api = Gusto::Client.new(
77
+ # base_url: "https://api.example.com",
78
+ # environment: Gusto::Environment::DEMO,
79
+ # token: "YOUR_AUTH_TOKEN"
80
+ # )
81
+ # api.payroll.earning_types.create(company_id: "company_id", name: "Gym Membership Stipend")
82
+ def create(company_id:, name:, request_options: nil)
83
+ response = @request_client.conn.post do | req |
84
+ unless request_options&.timeout_in_seconds.nil?
85
+ req.options.timeout = request_options.timeout_in_seconds
86
+ end
87
+ unless request_options&.token.nil?
88
+ req.headers["Authorization"] = request_options.token
89
+ end
90
+ unless request_options&.gusto_api_version.nil?
91
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
92
+ end
93
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
94
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
95
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
96
+ end
97
+ req.body = { **(request_options&.additional_body_parameters || {}), name: name }.compact
98
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types"
99
+ end
100
+ Gusto::EarningTypes::EarningType.from_json(json_object: response.body)
101
+ end
102
+ # Update an earning type.
103
+ # scope: `payrolls:write`
104
+ #
105
+ # @param company_id [String] The UUID of the company
106
+ # @param earning_type_uuid [String] The UUID of the earning type
107
+ # @param name [String] The name of the custom earning type.
108
+ # @param request_options [Gusto::RequestOptions]
109
+ # @return [Gusto::EarningTypes::EarningType]
110
+ # @example
111
+ # api = Gusto::Client.new(
112
+ # base_url: "https://api.example.com",
113
+ # environment: Gusto::Environment::DEMO,
114
+ # token: "YOUR_AUTH_TOKEN"
115
+ # )
116
+ # api.payroll.earning_types.update(
117
+ # company_id: "company_id",
118
+ # earning_type_uuid: "earning_type_uuid",
119
+ # name: "Gym Membership Stipend"
120
+ # )
121
+ def update(company_id:, earning_type_uuid:, name: nil, request_options: nil)
122
+ response = @request_client.conn.put do | req |
123
+ unless request_options&.timeout_in_seconds.nil?
124
+ req.options.timeout = request_options.timeout_in_seconds
125
+ end
126
+ unless request_options&.token.nil?
127
+ req.headers["Authorization"] = request_options.token
128
+ end
129
+ unless request_options&.gusto_api_version.nil?
130
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
131
+ end
132
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
133
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
134
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
135
+ end
136
+ req.body = { **(request_options&.additional_body_parameters || {}), name: name }.compact
137
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types/#{earning_type_uuid}"
138
+ end
139
+ Gusto::EarningTypes::EarningType.from_json(json_object: response.body)
140
+ end
141
+ # Deactivate an earning type.
142
+ # scope: `payrolls:write`
143
+ #
144
+ # @param company_id [String] The UUID of the company
145
+ # @param earning_type_uuid [String] The UUID of the earning type
146
+ # @param request_options [Gusto::RequestOptions]
147
+ # @return [Void]
148
+ # @example
149
+ # api = Gusto::Client.new(
150
+ # base_url: "https://api.example.com",
151
+ # environment: Gusto::Environment::DEMO,
152
+ # token: "YOUR_AUTH_TOKEN"
153
+ # )
154
+ # api.payroll.earning_types.delete(company_id: "company_id", earning_type_uuid: "earning_type_uuid")
155
+ def delete(company_id:, earning_type_uuid:, request_options: nil)
156
+ response = @request_client.conn.delete do | req |
157
+ unless request_options&.timeout_in_seconds.nil?
158
+ req.options.timeout = request_options.timeout_in_seconds
159
+ end
160
+ unless request_options&.token.nil?
161
+ req.headers["Authorization"] = request_options.token
162
+ end
163
+ unless request_options&.gusto_api_version.nil?
164
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
165
+ end
166
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
167
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
168
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
169
+ end
170
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
171
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
172
+ end
173
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types/#{earning_type_uuid}"
174
+ end
175
+ end
176
+ end
177
+ class AsyncEarningTypesClient
178
+ # @return [Gusto::AsyncRequestClient]
179
+ attr_reader :request_client
180
+
181
+
182
+ # @param request_client [Gusto::RequestClient]
183
+ # @return [Gusto::Payroll::AsyncEarningTypesClient]
184
+ def initialize(request_client:)
185
+ @request_client = request_client
186
+ end
187
+ # A payroll item in Gusto is associated to an earning type to name the type of
188
+ # earning described by the payroll item.
189
+ # #### Default Earning Type
190
+ # Certain earning types are special because they have tax considerations. Those
191
+ # earning types are mostly the same for every company depending on its legal
192
+ # structure (LLC, Corporation, etc.)
193
+ # #### Custom Earning Type
194
+ # Custom earning types are all the other earning types added specifically for a
195
+ # company.
196
+ # scope: `payrolls:read`
197
+ #
198
+ # @param company_id [String] The UUID of the company
199
+ # @param request_options [Gusto::RequestOptions]
200
+ # @return [Gusto::Payroll::EarningTypes::EarningTypesGetResponse]
201
+ # @example
202
+ # api = Gusto::Client.new(
203
+ # base_url: "https://api.example.com",
204
+ # environment: Gusto::Environment::DEMO,
205
+ # token: "YOUR_AUTH_TOKEN"
206
+ # )
207
+ # api.payroll.earning_types.get(company_id: "company_id")
208
+ def get(company_id:, request_options: nil)
209
+ Async do
210
+ response = @request_client.conn.get do | req |
211
+ unless request_options&.timeout_in_seconds.nil?
212
+ req.options.timeout = request_options.timeout_in_seconds
213
+ end
214
+ unless request_options&.token.nil?
215
+ req.headers["Authorization"] = request_options.token
216
+ end
217
+ unless request_options&.gusto_api_version.nil?
218
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
219
+ end
220
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
221
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
222
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
223
+ end
224
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
225
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
226
+ end
227
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types"
228
+ end
229
+ Gusto::Payroll::EarningTypes::EarningTypesGetResponse.from_json(json_object: response.body)
230
+ end
231
+ end
232
+ # Create a custom earning type.
233
+ # If an inactive earning type exists with the same name, this will reactivate it
234
+ # instead of creating a new one.
235
+ # scope: `payrolls:write`
236
+ #
237
+ # @param company_id [String] The UUID of the company
238
+ # @param name [String] The name of the custom earning type.
239
+ # @param request_options [Gusto::RequestOptions]
240
+ # @return [Gusto::EarningTypes::EarningType]
241
+ # @example
242
+ # api = Gusto::Client.new(
243
+ # base_url: "https://api.example.com",
244
+ # environment: Gusto::Environment::DEMO,
245
+ # token: "YOUR_AUTH_TOKEN"
246
+ # )
247
+ # api.payroll.earning_types.create(company_id: "company_id", name: "Gym Membership Stipend")
248
+ def create(company_id:, name:, request_options: nil)
249
+ Async do
250
+ response = @request_client.conn.post do | req |
251
+ unless request_options&.timeout_in_seconds.nil?
252
+ req.options.timeout = request_options.timeout_in_seconds
253
+ end
254
+ unless request_options&.token.nil?
255
+ req.headers["Authorization"] = request_options.token
256
+ end
257
+ unless request_options&.gusto_api_version.nil?
258
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
259
+ end
260
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
261
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
262
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
263
+ end
264
+ req.body = { **(request_options&.additional_body_parameters || {}), name: name }.compact
265
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types"
266
+ end
267
+ Gusto::EarningTypes::EarningType.from_json(json_object: response.body)
268
+ end
269
+ end
270
+ # Update an earning type.
271
+ # scope: `payrolls:write`
272
+ #
273
+ # @param company_id [String] The UUID of the company
274
+ # @param earning_type_uuid [String] The UUID of the earning type
275
+ # @param name [String] The name of the custom earning type.
276
+ # @param request_options [Gusto::RequestOptions]
277
+ # @return [Gusto::EarningTypes::EarningType]
278
+ # @example
279
+ # api = Gusto::Client.new(
280
+ # base_url: "https://api.example.com",
281
+ # environment: Gusto::Environment::DEMO,
282
+ # token: "YOUR_AUTH_TOKEN"
283
+ # )
284
+ # api.payroll.earning_types.update(
285
+ # company_id: "company_id",
286
+ # earning_type_uuid: "earning_type_uuid",
287
+ # name: "Gym Membership Stipend"
288
+ # )
289
+ def update(company_id:, earning_type_uuid:, name: nil, request_options: nil)
290
+ Async do
291
+ response = @request_client.conn.put do | req |
292
+ unless request_options&.timeout_in_seconds.nil?
293
+ req.options.timeout = request_options.timeout_in_seconds
294
+ end
295
+ unless request_options&.token.nil?
296
+ req.headers["Authorization"] = request_options.token
297
+ end
298
+ unless request_options&.gusto_api_version.nil?
299
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
300
+ end
301
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
302
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
303
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
304
+ end
305
+ req.body = { **(request_options&.additional_body_parameters || {}), name: name }.compact
306
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types/#{earning_type_uuid}"
307
+ end
308
+ Gusto::EarningTypes::EarningType.from_json(json_object: response.body)
309
+ end
310
+ end
311
+ # Deactivate an earning type.
312
+ # scope: `payrolls:write`
313
+ #
314
+ # @param company_id [String] The UUID of the company
315
+ # @param earning_type_uuid [String] The UUID of the earning type
316
+ # @param request_options [Gusto::RequestOptions]
317
+ # @return [Void]
318
+ # @example
319
+ # api = Gusto::Client.new(
320
+ # base_url: "https://api.example.com",
321
+ # environment: Gusto::Environment::DEMO,
322
+ # token: "YOUR_AUTH_TOKEN"
323
+ # )
324
+ # api.payroll.earning_types.delete(company_id: "company_id", earning_type_uuid: "earning_type_uuid")
325
+ def delete(company_id:, earning_type_uuid:, request_options: nil)
326
+ Async do
327
+ response = @request_client.conn.delete do | req |
328
+ unless request_options&.timeout_in_seconds.nil?
329
+ req.options.timeout = request_options.timeout_in_seconds
330
+ end
331
+ unless request_options&.token.nil?
332
+ req.headers["Authorization"] = request_options.token
333
+ end
334
+ unless request_options&.gusto_api_version.nil?
335
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
336
+ end
337
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
338
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
339
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
340
+ end
341
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
342
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
343
+ end
344
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/earning_types/#{earning_type_uuid}"
345
+ end
346
+ end
347
+ end
348
+ end
349
+ end
350
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+ require_relative "../../../earning_types/types/earning_type"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ module Payroll
8
+ module EarningTypes
9
+ class EarningTypesGetResponse
10
+ # @return [Array<Gusto::EarningTypes::EarningType>] The default earning types for the company.
11
+ attr_reader :default
12
+ # @return [Array<Gusto::EarningTypes::EarningType>] The custom earning types for the company.
13
+ attr_reader :custom
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param default [Array<Gusto::EarningTypes::EarningType>] The default earning types for the company.
23
+ # @param custom [Array<Gusto::EarningTypes::EarningType>] The custom earning types for the company.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Gusto::Payroll::EarningTypes::EarningTypesGetResponse]
26
+ def initialize(default: OMIT, custom: OMIT, additional_properties: nil)
27
+ @default = default if default != OMIT
28
+ @custom = custom if custom != OMIT
29
+ @additional_properties = additional_properties
30
+ @_field_set = { "default": default, "custom": custom }.reject do | _k, v |
31
+ v == OMIT
32
+ end
33
+ end
34
+ # Deserialize a JSON object to an instance of EarningTypesGetResponse
35
+ #
36
+ # @param json_object [String]
37
+ # @return [Gusto::Payroll::EarningTypes::EarningTypesGetResponse]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ parsed_json = JSON.parse(json_object)
41
+ default = parsed_json["default"]&.map do | item |
42
+ item = item.to_json
43
+ Gusto::EarningTypes::EarningType.from_json(json_object: item)
44
+ end
45
+ custom = parsed_json["custom"]&.map do | item |
46
+ item = item.to_json
47
+ Gusto::EarningTypes::EarningType.from_json(json_object: item)
48
+ end
49
+ new(
50
+ default: default,
51
+ custom: custom,
52
+ additional_properties: struct
53
+ )
54
+ end
55
+ # Serialize an instance of EarningTypesGetResponse to a JSON object
56
+ #
57
+ # @return [String]
58
+ def to_json
59
+ @_field_set&.to_json
60
+ end
61
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
62
+ # hash and check each fields type against the current object's property
63
+ # definitions.
64
+ #
65
+ # @param obj [Object]
66
+ # @return [Void]
67
+ def self.validate_raw(obj:)
68
+ obj.default&.is_a?(Array) != false || raise("Passed value for field obj.default is not the expected type, validation failed.")
69
+ obj.custom&.is_a?(Array) != false || raise("Passed value for field obj.custom is not the expected type, validation failed.")
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,199 @@
1
+ # frozen_string_literal: true
2
+ require_relative "../../../requests"
3
+ require_relative "../../external_payrolls/types/external_payroll_basic"
4
+ require "json"
5
+ require_relative "../../external_payrolls/types/external_payroll"
6
+ require "async"
7
+ require "async"
8
+ require_relative "../../../requests"
9
+
10
+ module Gusto
11
+ module Payroll
12
+ class ExternalPayrollsClient
13
+ # @return [Gusto::RequestClient]
14
+ attr_reader :request_client
15
+
16
+
17
+ # @param request_client [Gusto::RequestClient]
18
+ # @return [Gusto::Payroll::ExternalPayrollsClient]
19
+ def initialize(request_client:)
20
+ @request_client = request_client
21
+ end
22
+ # Get an external payroll for a given company.
23
+ # scope: `external_payrolls:read`
24
+ #
25
+ # @param company_uuid [String] The UUID of the company
26
+ # @param request_options [Gusto::RequestOptions]
27
+ # @return [Array<Gusto::ExternalPayrolls::ExternalPayrollBasic>]
28
+ # @example
29
+ # api = Gusto::Client.new(
30
+ # base_url: "https://api.example.com",
31
+ # environment: Gusto::Environment::DEMO,
32
+ # token: "YOUR_AUTH_TOKEN"
33
+ # )
34
+ # api.payroll.external_payrolls.get(company_uuid: "company_uuid")
35
+ def get(company_uuid:, request_options: nil)
36
+ response = @request_client.conn.get do | req |
37
+ unless request_options&.timeout_in_seconds.nil?
38
+ req.options.timeout = request_options.timeout_in_seconds
39
+ end
40
+ unless request_options&.token.nil?
41
+ req.headers["Authorization"] = request_options.token
42
+ end
43
+ unless request_options&.gusto_api_version.nil?
44
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
45
+ end
46
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
47
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
48
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
49
+ end
50
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
51
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
52
+ end
53
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/external_payrolls"
54
+ end
55
+ parsed_json = JSON.parse(response.body)
56
+ parsed_json&.map do | item |
57
+ item = item.to_json
58
+ Gusto::ExternalPayrolls::ExternalPayrollBasic.from_json(json_object: item)
59
+ end
60
+ end
61
+ # Creates a new external payroll for the company.
62
+ # scope: `external_payrolls:write`
63
+ #
64
+ # @param company_uuid [String] The UUID of the company
65
+ # @param check_date [String] External payroll's check date.
66
+ # @param payment_period_start_date [String] External payroll's pay period start date.
67
+ # @param payment_period_end_date [String] External payroll's pay period end date.
68
+ # @param request_options [Gusto::RequestOptions]
69
+ # @return [Gusto::ExternalPayrolls::ExternalPayroll]
70
+ # @example
71
+ # api = Gusto::Client.new(
72
+ # base_url: "https://api.example.com",
73
+ # environment: Gusto::Environment::DEMO,
74
+ # token: "YOUR_AUTH_TOKEN"
75
+ # )
76
+ # api.payroll.external_payrolls.create(
77
+ # company_uuid: "company_uuid",
78
+ # check_date: "2022-06-01",
79
+ # payment_period_start_date: "2022-05-15",
80
+ # payment_period_end_date: "2022-05-30"
81
+ # )
82
+ def create(company_uuid:, check_date:, payment_period_start_date:, payment_period_end_date:, request_options: nil)
83
+ response = @request_client.conn.post do | req |
84
+ unless request_options&.timeout_in_seconds.nil?
85
+ req.options.timeout = request_options.timeout_in_seconds
86
+ end
87
+ unless request_options&.token.nil?
88
+ req.headers["Authorization"] = request_options.token
89
+ end
90
+ unless request_options&.gusto_api_version.nil?
91
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
92
+ end
93
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
94
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
95
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
96
+ end
97
+ req.body = { **(request_options&.additional_body_parameters || {}), check_date: check_date, payment_period_start_date: payment_period_start_date, payment_period_end_date: payment_period_end_date }.compact
98
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/external_payrolls"
99
+ end
100
+ Gusto::ExternalPayrolls::ExternalPayroll.from_json(json_object: response.body)
101
+ end
102
+ end
103
+ class AsyncExternalPayrollsClient
104
+ # @return [Gusto::AsyncRequestClient]
105
+ attr_reader :request_client
106
+
107
+
108
+ # @param request_client [Gusto::RequestClient]
109
+ # @return [Gusto::Payroll::AsyncExternalPayrollsClient]
110
+ def initialize(request_client:)
111
+ @request_client = request_client
112
+ end
113
+ # Get an external payroll for a given company.
114
+ # scope: `external_payrolls:read`
115
+ #
116
+ # @param company_uuid [String] The UUID of the company
117
+ # @param request_options [Gusto::RequestOptions]
118
+ # @return [Array<Gusto::ExternalPayrolls::ExternalPayrollBasic>]
119
+ # @example
120
+ # api = Gusto::Client.new(
121
+ # base_url: "https://api.example.com",
122
+ # environment: Gusto::Environment::DEMO,
123
+ # token: "YOUR_AUTH_TOKEN"
124
+ # )
125
+ # api.payroll.external_payrolls.get(company_uuid: "company_uuid")
126
+ def get(company_uuid:, request_options: nil)
127
+ Async do
128
+ response = @request_client.conn.get do | req |
129
+ unless request_options&.timeout_in_seconds.nil?
130
+ req.options.timeout = request_options.timeout_in_seconds
131
+ end
132
+ unless request_options&.token.nil?
133
+ req.headers["Authorization"] = request_options.token
134
+ end
135
+ unless request_options&.gusto_api_version.nil?
136
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
137
+ end
138
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
139
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
140
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
141
+ end
142
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
143
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
144
+ end
145
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/external_payrolls"
146
+ end
147
+ parsed_json = JSON.parse(response.body)
148
+ parsed_json&.map do | item |
149
+ item = item.to_json
150
+ Gusto::ExternalPayrolls::ExternalPayrollBasic.from_json(json_object: item)
151
+ end
152
+ end
153
+ end
154
+ # Creates a new external payroll for the company.
155
+ # scope: `external_payrolls:write`
156
+ #
157
+ # @param company_uuid [String] The UUID of the company
158
+ # @param check_date [String] External payroll's check date.
159
+ # @param payment_period_start_date [String] External payroll's pay period start date.
160
+ # @param payment_period_end_date [String] External payroll's pay period end date.
161
+ # @param request_options [Gusto::RequestOptions]
162
+ # @return [Gusto::ExternalPayrolls::ExternalPayroll]
163
+ # @example
164
+ # api = Gusto::Client.new(
165
+ # base_url: "https://api.example.com",
166
+ # environment: Gusto::Environment::DEMO,
167
+ # token: "YOUR_AUTH_TOKEN"
168
+ # )
169
+ # api.payroll.external_payrolls.create(
170
+ # company_uuid: "company_uuid",
171
+ # check_date: "2022-06-01",
172
+ # payment_period_start_date: "2022-05-15",
173
+ # payment_period_end_date: "2022-05-30"
174
+ # )
175
+ def create(company_uuid:, check_date:, payment_period_start_date:, payment_period_end_date:, request_options: nil)
176
+ Async do
177
+ response = @request_client.conn.post do | req |
178
+ unless request_options&.timeout_in_seconds.nil?
179
+ req.options.timeout = request_options.timeout_in_seconds
180
+ end
181
+ unless request_options&.token.nil?
182
+ req.headers["Authorization"] = request_options.token
183
+ end
184
+ unless request_options&.gusto_api_version.nil?
185
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
186
+ end
187
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
188
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
189
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
190
+ end
191
+ req.body = { **(request_options&.additional_body_parameters || {}), check_date: check_date, payment_period_start_date: payment_period_start_date, payment_period_end_date: payment_period_end_date }.compact
192
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/external_payrolls"
193
+ end
194
+ Gusto::ExternalPayrolls::ExternalPayroll.from_json(json_object: response.body)
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end