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.
- checksums.yaml +7 -0
- data/lib/base_gusto.rb +175 -0
- data/lib/core/file_utilities.rb +27 -0
- data/lib/environment.rb +9 -0
- data/lib/fern_gusto/ach_transactions/client.rb +119 -0
- data/lib/fern_gusto/admins/types/admin.rb +82 -0
- data/lib/fern_gusto/companies/attachments/client.rb +335 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_create_request_category.rb +15 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_get_download_url_response.rb +56 -0
- data/lib/fern_gusto/companies/bank_accounts/client.rb +435 -0
- data/lib/fern_gusto/companies/bank_accounts/types/bank_accounts_create_request_account_type.rb +15 -0
- data/lib/fern_gusto/companies/benefits/client.rb +862 -0
- data/lib/fern_gusto/companies/client.rb +1104 -0
- data/lib/fern_gusto/companies/departments/client.rb +587 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/employees/client.rb +376 -0
- data/lib/fern_gusto/companies/external_payrolls/client.rb +605 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item.rb +98 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item.rb +87 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item_earning_type.rb +15 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_taxes_item.rb +69 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_tax_liabilities_request_liability_selections_item.rb +80 -0
- data/lib/fern_gusto/companies/federal_tax_details/client.rb +212 -0
- data/lib/fern_gusto/companies/federal_tax_details/types/federal_tax_details_update_request_tax_payer_type.rb +25 -0
- data/lib/fern_gusto/companies/forms/client.rb +345 -0
- data/lib/fern_gusto/companies/industry_selection/client.rb +207 -0
- data/lib/fern_gusto/companies/locations/client.rb +417 -0
- data/lib/fern_gusto/companies/pay_schedules/client.rb +377 -0
- data/lib/fern_gusto/companies/payment_configs/client.rb +198 -0
- data/lib/fern_gusto/companies/payment_configs/types/payment_configs_update_request_payment_speed.rb +19 -0
- data/lib/fern_gusto/companies/signatories/client.rb +513 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_create_request_home_address.rb +89 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_update_request_home_address.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/client.rb +367 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_list_response_item.rb +75 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item_requirements_item.rb +70 -0
- data/lib/fern_gusto/companies/types/companies_accept_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/companies_create_request_company.rb +83 -0
- data/lib/fern_gusto/companies/types/companies_create_request_user.rb +81 -0
- data/lib/fern_gusto/companies/types/companies_create_response.rb +82 -0
- data/lib/fern_gusto/companies/types/companies_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/companies/types/companies_migrate_to_embedded_payroll_response.rb +68 -0
- data/lib/fern_gusto/companies/types/companies_retrieve_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/company.rb +223 -0
- data/lib/fern_gusto/companies/types/company_company_status.rb +21 -0
- data/lib/fern_gusto/companies/types/company_compensations.rb +85 -0
- data/lib/fern_gusto/companies/types/company_compensations_fixed_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_compensations_hourly_item.rb +65 -0
- data/lib/fern_gusto/companies/types/company_compensations_paid_time_off_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_entity_type.rb +23 -0
- data/lib/fern_gusto/companies/types/company_funding_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status.rb +77 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status_onboarding_steps_item.rb +97 -0
- data/lib/fern_gusto/companies/types/company_pay_schedule_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_primary_payroll_admin.rb +80 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory.rb +100 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory_home_address.rb +93 -0
- data/lib/fern_gusto/companies/types/company_tier.rb +20 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment.rb +81 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment_category.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account.rb +157 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_plaid_status.rb +14 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_status.rb +19 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_type.rb +17 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary.rb +104 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees.rb +113 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits.rb +107 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits_pay_period.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements.rb +156 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum_default_value.rb +68 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount.rb +87 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option_default_value.rb +67 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_info.rb +78 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_status.rb +14 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group.rb +145 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_wage_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group.rb +127 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal.rb +116 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account.rb +94 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method.rb +96 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_type.rb +14 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment.rb +146 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_status.rb +13 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_contractor_payments_item.rb +93 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_contractor_payments_item.rb +86 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_wage_type.rb +13 -0
- data/lib/fern_gusto/contractors/client.rb +1025 -0
- data/lib/fern_gusto/contractors/documents/client.rb +269 -0
- data/lib/fern_gusto/contractors/documents/types/documents_sign_request_fields_item.rb +67 -0
- data/lib/fern_gusto/contractors/forms/client.rb +343 -0
- data/lib/fern_gusto/contractors/payment_groups/client.rb +569 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_method/client.rb +369 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_update_request_type.rb +17 -0
- data/lib/fern_gusto/contractors/payments/client.rb +558 -0
- data/lib/fern_gusto/contractors/payments/types/payments_create_request_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payments/types/payments_list_response.rb +62 -0
- data/lib/fern_gusto/contractors/types/contractor.rb +227 -0
- data/lib/fern_gusto/contractors/types/contractor_address.rb +94 -0
- data/lib/fern_gusto/contractors/types/contractor_onboarding_status.rb +18 -0
- data/lib/fern_gusto/contractors/types/contractor_type.rb +13 -0
- data/lib/fern_gusto/contractors/types/contractor_wage_type.rb +13 -0
- data/lib/fern_gusto/custom_fields/types/company_custom_field.rb +88 -0
- data/lib/fern_gusto/custom_fields/types/custom_field_type.rb +16 -0
- data/lib/fern_gusto/custom_fields/types/employee_custom_field.rb +104 -0
- data/lib/fern_gusto/documents/types/document.rb +167 -0
- data/lib/fern_gusto/documents/types/document_fields_item.rb +114 -0
- data/lib/fern_gusto/documents/types/document_pages_item.rb +65 -0
- data/lib/fern_gusto/documents/types/document_recipient_type.rb +15 -0
- data/lib/fern_gusto/documents/types/document_signed.rb +137 -0
- data/lib/fern_gusto/documents/types/document_signed_recipient_type.rb +15 -0
- data/lib/fern_gusto/earning_types/types/earning_type.rb +66 -0
- data/lib/fern_gusto/employee_employments/types/unprocessed_termination_pay_period.rb +101 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account.rb +94 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_info.rb +96 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_type.rb +14 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax.rb +144 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax_w4data_type.rb +13 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax.rb +90 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_answer.rb +74 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format.rb +69 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format_options_item.rb +67 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_question.rb +96 -0
- data/lib/fern_gusto/employees/adresses/client.rb +885 -0
- data/lib/fern_gusto/employees/benefits/client.rb +656 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/client.rb +822 -0
- data/lib/fern_gusto/employees/employments/client.rb +799 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item.rb +95 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/forms/client.rb +433 -0
- data/lib/fern_gusto/employees/forms/types/forms_generate_w2response.rb +132 -0
- data/lib/fern_gusto/employees/garnishments/client.rb +558 -0
- data/lib/fern_gusto/employees/garnishments/types/garnishments_create_request_garnishment_type.rb +20 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/client.rb +938 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/payment_method/client.rb +484 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_split_by.rb +17 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb +83 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_type.rb +16 -0
- data/lib/fern_gusto/employees/tax_setup/client.rb +422 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item_answers_item.rb +77 -0
- data/lib/fern_gusto/employees/types/employee.rb +281 -0
- data/lib/fern_gusto/employees/types/employee_current_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_info.rb +77 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status.rb +19 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/employees/types/employee_payment_method.rb +13 -0
- data/lib/fern_gusto/employees/types/employees_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/employees/types/employees_get_request_include.rb +12 -0
- data/lib/fern_gusto/events/client.rb +144 -0
- data/lib/fern_gusto/events/types/events_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll.rb +158 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_benefits_item.rb +73 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_earnings_item.rb +87 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_taxes_item.rb +85 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic.rb +101 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item.rb +93 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_benefits_item.rb +74 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_earnings_item.rb +81 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_taxes_item.rb +67 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_metadata.rb +56 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions.rb +72 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions_tax_suggestions.rb +68 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections.rb +86 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb +75 -0
- data/lib/fern_gusto/federal_tax_details/types/federal_tax_details.rb +140 -0
- data/lib/fern_gusto/flows/client.rb +113 -0
- data/lib/fern_gusto/flows/types/flow.rb +66 -0
- data/lib/fern_gusto/flows/types/flows_create_request_entity_type.rb +14 -0
- data/lib/fern_gusto/forms/types/form.rb +123 -0
- data/lib/fern_gusto/forms/types/form1099.rb +126 -0
- data/lib/fern_gusto/generated_documents/client.rb +106 -0
- data/lib/fern_gusto/holiday_pay_policies/client.rb +599 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_add_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/industry/types/industry.rb +87 -0
- data/lib/fern_gusto/invoices/client.rb +132 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation.rb +120 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation_payment_unit.rb +17 -0
- data/lib/fern_gusto/jobs_and_compensations/types/job.rb +161 -0
- data/lib/fern_gusto/locations/types/company_address.rb +103 -0
- data/lib/fern_gusto/locations/types/location.rb +171 -0
- data/lib/fern_gusto/notifications/client.rb +120 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule.rb +151 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment.rb +103 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_department.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee_change.rb +105 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_pay_period.rb +80 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview.rb +71 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_transition_pay_period.rb +68 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_frequency.rb +17 -0
- data/lib/fern_gusto/payment_configs/types/payment_configs.rb +79 -0
- data/lib/fern_gusto/payroll/client.rb +1644 -0
- data/lib/fern_gusto/payroll/earning_types/client.rb +350 -0
- data/lib/fern_gusto/payroll/earning_types/types/earning_types_get_response.rb +74 -0
- data/lib/fern_gusto/payroll/external_payrolls/client.rb +199 -0
- data/lib/fern_gusto/payroll/pay_schedules/client.rb +584 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_create_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_request_frequency.rb +16 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response.rb +72 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response_pay_periods_item.rb +83 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_update_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_off_cycle_reason.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_withholding_pay_period.rb +18 -0
- data/lib/fern_gusto/payroll/types/payroll_get_request_include_item.rb +14 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_include_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_payroll_types_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_processing_statuses_item.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_skip_payroll_request_payroll_type.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_submit_request_submission_blockers_item.rb +67 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item.rb +133 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_fixed_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_hourly_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_paid_time_off_item.rb +85 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_payment_method.rb +13 -0
- data/lib/fern_gusto/payrolls/types/employee_pay_stub.rb +94 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off.rb +123 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off_name.rb +14 -0
- data/lib/fern_gusto/payrolls/types/pay_period.rb +86 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll.rb +107 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll_payroll_type.rb +13 -0
- data/lib/fern_gusto/payrolls/types/payroll.rb +285 -0
- data/lib/fern_gusto/payrolls/types/payroll_minimal.rb +250 -0
- data/lib/fern_gusto/payrolls/types/payroll_prepared.rb +250 -0
- data/lib/fern_gusto/recovery_cases/client.rb +198 -0
- data/lib/fern_gusto/reports/client.rb +306 -0
- data/lib/fern_gusto/reports/types/reports_create_request_columns_item.rb +91 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_status.rb +18 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_type.rb +16 -0
- data/lib/fern_gusto/reports/types/reports_create_request_file_type.rb +13 -0
- data/lib/fern_gusto/reports/types/reports_create_request_groupings_item.rb +14 -0
- data/lib/fern_gusto/reports/types/reports_create_request_payment_method.rb +13 -0
- data/lib/fern_gusto/signatories/types/signatory.rb +175 -0
- data/lib/fern_gusto/signatories/types/signatory_home_address.rb +93 -0
- data/lib/fern_gusto/signatories/types/signatory_identity_verification_status.rb +28 -0
- data/lib/fern_gusto/terminations/types/termination.rb +109 -0
- data/lib/fern_gusto/time_off_policies/client.rb +863 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_add_employees_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_create_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_balance_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request.rb +141 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_approver.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_employee.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_initiator.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_request_type.rb +13 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_status.rb +14 -0
- data/lib/fern_gusto/token/client.rb +270 -0
- data/lib/fern_gusto/token/types/token_get_info_response.rb +85 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource.rb +64 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner.rb +65 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner_type.rb +13 -0
- data/lib/fern_gusto/token/types/token_get_system_access_token_response.rb +77 -0
- data/lib/fern_gusto/types/accruing_time_off_hour.rb +64 -0
- data/lib/fern_gusto/types/ach_transaction.rb +162 -0
- data/lib/fern_gusto/types/ach_transaction_payment_direction.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_event_type.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_status.rb +13 -0
- data/lib/fern_gusto/types/ach_transaction_recipient_type.rb +11 -0
- data/lib/fern_gusto/types/address.rb +111 -0
- data/lib/fern_gusto/types/authentication.rb +96 -0
- data/lib/fern_gusto/types/child_support_data.rb +58 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item.rb +104 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_fips_codes_item.rb +67 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item.rb +70 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item_key.rb +14 -0
- data/lib/fern_gusto/types/company_benefit.rb +135 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits.rb +148 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item.rb +115 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution.rb +91 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers.rb +60 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item.rb +86 -0
- data/lib/fern_gusto/types/contractor_address_info.rb +118 -0
- data/lib/fern_gusto/types/contractor_body.rb +200 -0
- data/lib/fern_gusto/types/contractor_body_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_body_wage_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_payment_receipt.rb +161 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_contractor_payments_item.rb +120 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_totals.rb +54 -0
- data/lib/fern_gusto/types/create_report.rb +77 -0
- data/lib/fern_gusto/types/department.rb +103 -0
- data/lib/fern_gusto/types/department_contractors_item.rb +53 -0
- data/lib/fern_gusto/types/department_employees_item.rb +53 -0
- data/lib/fern_gusto/types/document_pdf.rb +63 -0
- data/lib/fern_gusto/types/employee_address.rb +139 -0
- data/lib/fern_gusto/types/employee_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_benefit_base_object.rb +199 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution.rb +89 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers.rb +59 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers_tiers_item.rb +85 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_deduction_reduces_taxable_income.rb +14 -0
- data/lib/fern_gusto/types/employee_benefit_for_company_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_work_address.rb +137 -0
- data/lib/fern_gusto/types/entity_error_object.rb +102 -0
- data/lib/fern_gusto/types/entity_error_object_errors_item.rb +89 -0
- data/lib/fern_gusto/types/event.rb +99 -0
- data/lib/fern_gusto/types/flsa_status_type.rb +23 -0
- data/lib/fern_gusto/types/form_pdf.rb +63 -0
- data/lib/fern_gusto/types/garnishment.rb +172 -0
- data/lib/fern_gusto/types/garnishment_child_support.rb +113 -0
- data/lib/fern_gusto/types/garnishment_child_support_payment_period.rb +14 -0
- data/lib/fern_gusto/types/garnishment_garnishment_type.rb +16 -0
- data/lib/fern_gusto/types/generated_document.rb +70 -0
- data/lib/fern_gusto/types/gross_up_pay.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body.rb +156 -0
- data/lib/fern_gusto/types/historical_employee_body_employee_state_taxes.rb +80 -0
- data/lib/fern_gusto/types/historical_employee_body_home_address.rb +84 -0
- data/lib/fern_gusto/types/historical_employee_body_job.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_termination.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_work_address.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy.rb +88 -0
- data/lib/fern_gusto/types/holiday_pay_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item.rb +179 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_columbus_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_independence_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_juneteenth.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_labor_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_memorial_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_mlk_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_new_years_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_presidents_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_thanksgiving.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_veterans_day.rb +72 -0
- data/lib/fern_gusto/types/invoice_data.rb +58 -0
- data/lib/fern_gusto/types/invoice_data_active_companies_item.rb +91 -0
- data/lib/fern_gusto/types/minimum_wage.rb +96 -0
- data/lib/fern_gusto/types/notification.rb +125 -0
- data/lib/fern_gusto/types/notification_resources_item.rb +85 -0
- data/lib/fern_gusto/types/off_cycle_reason_type.rb +19 -0
- data/lib/fern_gusto/types/paid_holidays.rb +61 -0
- data/lib/fern_gusto/types/paid_holidays_schema.rb +77 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body.rb +111 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_departments_item.rb +65 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_employees_item.rb +64 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_type.rb +13 -0
- data/lib/fern_gusto/types/payment_method_bank_account.rb +87 -0
- data/lib/fern_gusto/types/payroll_blocker.rb +63 -0
- data/lib/fern_gusto/types/payroll_blockers_error.rb +60 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item.rb +83 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item_metadata.rb +54 -0
- data/lib/fern_gusto/types/payroll_check.rb +84 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_status.rb +13 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item.rb +216 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_deductions_item.rb +65 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_fixed_compensations_item.rb +74 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_hourly_compensations_item.rb +92 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_paid_time_off_item.rb +76 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_payment_method.rb +11 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_taxes_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type_item.rb +54 -0
- data/lib/fern_gusto/types/payroll_pay_period_type.rb +70 -0
- data/lib/fern_gusto/types/payroll_payment_speed_changed_type.rb +86 -0
- data/lib/fern_gusto/types/payroll_payroll_status_meta_type.rb +92 -0
- data/lib/fern_gusto/types/payroll_processing_request.rb +68 -0
- data/lib/fern_gusto/types/payroll_processing_request_status.rb +14 -0
- data/lib/fern_gusto/types/payroll_receipt.rb +177 -0
- data/lib/fern_gusto/types/payroll_receipt_employee_compensations_item.rb +116 -0
- data/lib/fern_gusto/types/payroll_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/payroll_receipt_taxes_item.rb +63 -0
- data/lib/fern_gusto/types/payroll_receipt_totals.rb +85 -0
- data/lib/fern_gusto/types/payroll_reversal.rb +91 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_status.rb +11 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_totals_type.rb +199 -0
- data/lib/fern_gusto/types/payroll_withholding_pay_period_type.rb +17 -0
- data/lib/fern_gusto/types/recovery_case.rb +131 -0
- data/lib/fern_gusto/types/recovery_case_status.rb +14 -0
- data/lib/fern_gusto/types/rehire.rb +116 -0
- data/lib/fern_gusto/types/rehire_body.rb +91 -0
- data/lib/fern_gusto/types/rehire_body_employment_status.rb +16 -0
- data/lib/fern_gusto/types/rehire_employment_status.rb +16 -0
- data/lib/fern_gusto/types/report.rb +72 -0
- data/lib/fern_gusto/types/report_template.rb +77 -0
- data/lib/fern_gusto/types/supported_benefit.rb +122 -0
- data/lib/fern_gusto/types/tax_requirement.rb +111 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item.rb +69 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item_value.rb +72 -0
- data/lib/fern_gusto/types/tax_requirement_effective_from.rb +5 -0
- data/lib/fern_gusto/types/tax_requirement_metadata.rb +182 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_options_item.rb +70 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_rate_type.rb +13 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_type.rb +31 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation.rb +81 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation_type.rb +11 -0
- data/lib/fern_gusto/types/tax_requirement_set.rb +90 -0
- data/lib/fern_gusto/types/tax_requirements_state.rb +75 -0
- data/lib/fern_gusto/types/time_off_activity.rb +107 -0
- data/lib/fern_gusto/types/time_off_activity_time_off_type.rb +11 -0
- data/lib/fern_gusto/types/time_off_policy.rb +183 -0
- data/lib/fern_gusto/types/time_off_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/time_off_policy_policy_type.rb +11 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body.rb +59 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors.rb +57 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors_base_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item.rb +65 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item.rb +69 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item_answers_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_object.rb +63 -0
- data/lib/fern_gusto/types/versionable.rb +57 -0
- data/lib/fern_gusto/types/versionable_required.rb +55 -0
- data/lib/fern_gusto/types/wire_in_request.rb +170 -0
- data/lib/fern_gusto/types/wire_in_request_status.rb +14 -0
- data/lib/fern_gusto/webhooks/client.rb +627 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription.rb +82 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_status.rb +14 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_create_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_update_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/wire_in_requests/client.rb +273 -0
- data/lib/fern_gusto.rb +310 -0
- data/lib/gemconfig.rb +13 -0
- data/lib/gusto_legacy.rb +19 -0
- data/lib/requests.rb +206 -0
- data/lib/types_export.rb +461 -0
- metadata +671 -0
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "tax_liabilities_selections_possible_liabilities"
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Gusto
|
7
|
+
module ExternalPayrolls
|
8
|
+
# The representation of tax liabilities selections.
|
9
|
+
class TaxLiabilitiesSelections
|
10
|
+
# @return [Integer] The ID of the tax.
|
11
|
+
attr_reader :tax_id
|
12
|
+
# @return [String] The name of the tax.
|
13
|
+
attr_reader :tax_name
|
14
|
+
# @return [String] The UUID of last unpaid external payroll.
|
15
|
+
attr_reader :last_unpaid_external_payroll_uuid
|
16
|
+
# @return [Gusto::ExternalPayrolls::TaxLiabilitiesSelectionsPossibleLiabilities] Possible tax liabilities selections.
|
17
|
+
attr_reader :possible_liabilities
|
18
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
19
|
+
attr_reader :additional_properties
|
20
|
+
# @return [Object]
|
21
|
+
attr_reader :_field_set
|
22
|
+
protected :_field_set
|
23
|
+
|
24
|
+
OMIT = Object.new
|
25
|
+
|
26
|
+
# @param tax_id [Integer] The ID of the tax.
|
27
|
+
# @param tax_name [String] The name of the tax.
|
28
|
+
# @param last_unpaid_external_payroll_uuid [String] The UUID of last unpaid external payroll.
|
29
|
+
# @param possible_liabilities [Gusto::ExternalPayrolls::TaxLiabilitiesSelectionsPossibleLiabilities] Possible tax liabilities selections.
|
30
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
31
|
+
# @return [Gusto::ExternalPayrolls::TaxLiabilitiesSelections]
|
32
|
+
def initialize(tax_id: OMIT, tax_name: OMIT, last_unpaid_external_payroll_uuid: OMIT, possible_liabilities: OMIT, additional_properties: nil)
|
33
|
+
@tax_id = tax_id if tax_id != OMIT
|
34
|
+
@tax_name = tax_name if tax_name != OMIT
|
35
|
+
@last_unpaid_external_payroll_uuid = last_unpaid_external_payroll_uuid if last_unpaid_external_payroll_uuid != OMIT
|
36
|
+
@possible_liabilities = possible_liabilities if possible_liabilities != OMIT
|
37
|
+
@additional_properties = additional_properties
|
38
|
+
@_field_set = { "tax_id": tax_id, "tax_name": tax_name, "last_unpaid_external_payroll_uuid": last_unpaid_external_payroll_uuid, "possible_liabilities": possible_liabilities }.reject do | _k, v |
|
39
|
+
v == OMIT
|
40
|
+
end
|
41
|
+
end
|
42
|
+
# Deserialize a JSON object to an instance of TaxLiabilitiesSelections
|
43
|
+
#
|
44
|
+
# @param json_object [String]
|
45
|
+
# @return [Gusto::ExternalPayrolls::TaxLiabilitiesSelections]
|
46
|
+
def self.from_json(json_object:)
|
47
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
48
|
+
parsed_json = JSON.parse(json_object)
|
49
|
+
tax_id = parsed_json["tax_id"]
|
50
|
+
tax_name = parsed_json["tax_name"]
|
51
|
+
last_unpaid_external_payroll_uuid = parsed_json["last_unpaid_external_payroll_uuid"]
|
52
|
+
unless parsed_json["possible_liabilities"].nil?
|
53
|
+
possible_liabilities = parsed_json["possible_liabilities"].to_json
|
54
|
+
possible_liabilities = Gusto::ExternalPayrolls::TaxLiabilitiesSelectionsPossibleLiabilities.from_json(json_object: possible_liabilities)
|
55
|
+
else
|
56
|
+
possible_liabilities = nil
|
57
|
+
end
|
58
|
+
new(
|
59
|
+
tax_id: tax_id,
|
60
|
+
tax_name: tax_name,
|
61
|
+
last_unpaid_external_payroll_uuid: last_unpaid_external_payroll_uuid,
|
62
|
+
possible_liabilities: possible_liabilities,
|
63
|
+
additional_properties: struct
|
64
|
+
)
|
65
|
+
end
|
66
|
+
# Serialize an instance of TaxLiabilitiesSelections to a JSON object
|
67
|
+
#
|
68
|
+
# @return [String]
|
69
|
+
def to_json
|
70
|
+
@_field_set&.to_json
|
71
|
+
end
|
72
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
73
|
+
# hash and check each fields type against the current object's property
|
74
|
+
# definitions.
|
75
|
+
#
|
76
|
+
# @param obj [Object]
|
77
|
+
# @return [Void]
|
78
|
+
def self.validate_raw(obj:)
|
79
|
+
obj.tax_id&.is_a?(Integer) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
|
80
|
+
obj.tax_name&.is_a?(String) != false || raise("Passed value for field obj.tax_name is not the expected type, validation failed.")
|
81
|
+
obj.last_unpaid_external_payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.last_unpaid_external_payroll_uuid is not the expected type, validation failed.")
|
82
|
+
obj.possible_liabilities.nil? || Gusto::ExternalPayrolls::TaxLiabilitiesSelectionsPossibleLiabilities.validate_raw(obj: obj.possible_liabilities)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
module ExternalPayrolls
|
7
|
+
# Possible tax liabilities selections.
|
8
|
+
class TaxLiabilitiesSelectionsPossibleLiabilities
|
9
|
+
# @return [String] Liability amount.
|
10
|
+
attr_reader :liability_amount
|
11
|
+
# @return [String] The external payroll check date.
|
12
|
+
attr_reader :payroll_check_date
|
13
|
+
# @return [String] The UUID of the external payroll.
|
14
|
+
attr_reader :external_payroll_uuid
|
15
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
16
|
+
attr_reader :additional_properties
|
17
|
+
# @return [Object]
|
18
|
+
attr_reader :_field_set
|
19
|
+
protected :_field_set
|
20
|
+
|
21
|
+
OMIT = Object.new
|
22
|
+
|
23
|
+
# @param liability_amount [String] Liability amount.
|
24
|
+
# @param payroll_check_date [String] The external payroll check date.
|
25
|
+
# @param external_payroll_uuid [String] The UUID of the external payroll.
|
26
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
27
|
+
# @return [Gusto::ExternalPayrolls::TaxLiabilitiesSelectionsPossibleLiabilities]
|
28
|
+
def initialize(liability_amount: OMIT, payroll_check_date: OMIT, external_payroll_uuid: OMIT, additional_properties: nil)
|
29
|
+
@liability_amount = liability_amount if liability_amount != OMIT
|
30
|
+
@payroll_check_date = payroll_check_date if payroll_check_date != OMIT
|
31
|
+
@external_payroll_uuid = external_payroll_uuid if external_payroll_uuid != OMIT
|
32
|
+
@additional_properties = additional_properties
|
33
|
+
@_field_set = { "liability_amount": liability_amount, "payroll_check_date": payroll_check_date, "external_payroll_uuid": external_payroll_uuid }.reject do | _k, v |
|
34
|
+
v == OMIT
|
35
|
+
end
|
36
|
+
end
|
37
|
+
# Deserialize a JSON object to an instance of
|
38
|
+
# TaxLiabilitiesSelectionsPossibleLiabilities
|
39
|
+
#
|
40
|
+
# @param json_object [String]
|
41
|
+
# @return [Gusto::ExternalPayrolls::TaxLiabilitiesSelectionsPossibleLiabilities]
|
42
|
+
def self.from_json(json_object:)
|
43
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
44
|
+
parsed_json = JSON.parse(json_object)
|
45
|
+
liability_amount = parsed_json["liability_amount"]
|
46
|
+
payroll_check_date = parsed_json["payroll_check_date"]
|
47
|
+
external_payroll_uuid = parsed_json["external_payroll_uuid"]
|
48
|
+
new(
|
49
|
+
liability_amount: liability_amount,
|
50
|
+
payroll_check_date: payroll_check_date,
|
51
|
+
external_payroll_uuid: external_payroll_uuid,
|
52
|
+
additional_properties: struct
|
53
|
+
)
|
54
|
+
end
|
55
|
+
# Serialize an instance of TaxLiabilitiesSelectionsPossibleLiabilities to a JSON
|
56
|
+
# object
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
def to_json
|
60
|
+
@_field_set&.to_json
|
61
|
+
end
|
62
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
63
|
+
# hash and check each fields type against the current object's property
|
64
|
+
# definitions.
|
65
|
+
#
|
66
|
+
# @param obj [Object]
|
67
|
+
# @return [Void]
|
68
|
+
def self.validate_raw(obj:)
|
69
|
+
obj.liability_amount&.is_a?(String) != false || raise("Passed value for field obj.liability_amount is not the expected type, validation failed.")
|
70
|
+
obj.payroll_check_date&.is_a?(String) != false || raise("Passed value for field obj.payroll_check_date is not the expected type, validation failed.")
|
71
|
+
obj.external_payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.external_payroll_uuid is not the expected type, validation failed.")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,140 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
module FederalTaxDetails
|
7
|
+
class FederalTaxDetails
|
8
|
+
# @return [String] The current version of the object. See the [versioning
|
9
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
10
|
+
# on how to use this field.
|
11
|
+
attr_reader :version
|
12
|
+
# @return [String] What type of tax entity the company is. One of:
|
13
|
+
# - C-Corporation
|
14
|
+
# - S-Corporation
|
15
|
+
# - Sole proprietor
|
16
|
+
# - LLC
|
17
|
+
# - LLP
|
18
|
+
# - Limited partnership
|
19
|
+
# - Co-ownership
|
20
|
+
# - Association
|
21
|
+
# - Trusteeship
|
22
|
+
# - General partnership
|
23
|
+
# - Joint venture
|
24
|
+
# - Non-Profit
|
25
|
+
attr_reader :tax_payer_type
|
26
|
+
# @return [Boolean] Whether the company is taxed as an S-Corporation. Tax payer types that may be
|
27
|
+
# taxed as an S-Corporation include:
|
28
|
+
# - S-Corporation
|
29
|
+
# - C-Corporation
|
30
|
+
# - LLC
|
31
|
+
attr_reader :taxable_as_scorp
|
32
|
+
# @return [String] The form used by the company for federal tax filing. One of:
|
33
|
+
# - 941 (Quarterly federal tax return form)
|
34
|
+
# - 944 (Annual federal tax return form)
|
35
|
+
attr_reader :filing_form
|
36
|
+
# @return [Boolean] Whether company's Employer Identification Number (EIN) is present
|
37
|
+
attr_reader :has_ein
|
38
|
+
# @return [Boolean] Whether the EIN was able to be verified as a valid EIN with the IRS.
|
39
|
+
attr_reader :ein_verified
|
40
|
+
# @return [String] The legal name of the company
|
41
|
+
attr_reader :legal_name
|
42
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
43
|
+
attr_reader :additional_properties
|
44
|
+
# @return [Object]
|
45
|
+
attr_reader :_field_set
|
46
|
+
protected :_field_set
|
47
|
+
|
48
|
+
OMIT = Object.new
|
49
|
+
|
50
|
+
# @param version [String] The current version of the object. See the [versioning
|
51
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
52
|
+
# on how to use this field.
|
53
|
+
# @param tax_payer_type [String] What type of tax entity the company is. One of:
|
54
|
+
# - C-Corporation
|
55
|
+
# - S-Corporation
|
56
|
+
# - Sole proprietor
|
57
|
+
# - LLC
|
58
|
+
# - LLP
|
59
|
+
# - Limited partnership
|
60
|
+
# - Co-ownership
|
61
|
+
# - Association
|
62
|
+
# - Trusteeship
|
63
|
+
# - General partnership
|
64
|
+
# - Joint venture
|
65
|
+
# - Non-Profit
|
66
|
+
# @param taxable_as_scorp [Boolean] Whether the company is taxed as an S-Corporation. Tax payer types that may be
|
67
|
+
# taxed as an S-Corporation include:
|
68
|
+
# - S-Corporation
|
69
|
+
# - C-Corporation
|
70
|
+
# - LLC
|
71
|
+
# @param filing_form [String] The form used by the company for federal tax filing. One of:
|
72
|
+
# - 941 (Quarterly federal tax return form)
|
73
|
+
# - 944 (Annual federal tax return form)
|
74
|
+
# @param has_ein [Boolean] Whether company's Employer Identification Number (EIN) is present
|
75
|
+
# @param ein_verified [Boolean] Whether the EIN was able to be verified as a valid EIN with the IRS.
|
76
|
+
# @param legal_name [String] The legal name of the company
|
77
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
78
|
+
# @return [Gusto::FederalTaxDetails::FederalTaxDetails]
|
79
|
+
def initialize(version: OMIT, tax_payer_type: OMIT, taxable_as_scorp: OMIT, filing_form: OMIT, has_ein: OMIT, ein_verified: OMIT, legal_name: OMIT, additional_properties: nil)
|
80
|
+
@version = version if version != OMIT
|
81
|
+
@tax_payer_type = tax_payer_type if tax_payer_type != OMIT
|
82
|
+
@taxable_as_scorp = taxable_as_scorp if taxable_as_scorp != OMIT
|
83
|
+
@filing_form = filing_form if filing_form != OMIT
|
84
|
+
@has_ein = has_ein if has_ein != OMIT
|
85
|
+
@ein_verified = ein_verified if ein_verified != OMIT
|
86
|
+
@legal_name = legal_name if legal_name != OMIT
|
87
|
+
@additional_properties = additional_properties
|
88
|
+
@_field_set = { "version": version, "tax_payer_type": tax_payer_type, "taxable_as_scorp": taxable_as_scorp, "filing_form": filing_form, "has_ein": has_ein, "ein_verified": ein_verified, "legal_name": legal_name }.reject do | _k, v |
|
89
|
+
v == OMIT
|
90
|
+
end
|
91
|
+
end
|
92
|
+
# Deserialize a JSON object to an instance of FederalTaxDetails
|
93
|
+
#
|
94
|
+
# @param json_object [String]
|
95
|
+
# @return [Gusto::FederalTaxDetails::FederalTaxDetails]
|
96
|
+
def self.from_json(json_object:)
|
97
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
98
|
+
parsed_json = JSON.parse(json_object)
|
99
|
+
version = parsed_json["version"]
|
100
|
+
tax_payer_type = parsed_json["tax_payer_type"]
|
101
|
+
taxable_as_scorp = parsed_json["taxable_as_scorp"]
|
102
|
+
filing_form = parsed_json["filing_form"]
|
103
|
+
has_ein = parsed_json["has_ein"]
|
104
|
+
ein_verified = parsed_json["ein_verified"]
|
105
|
+
legal_name = parsed_json["legal_name"]
|
106
|
+
new(
|
107
|
+
version: version,
|
108
|
+
tax_payer_type: tax_payer_type,
|
109
|
+
taxable_as_scorp: taxable_as_scorp,
|
110
|
+
filing_form: filing_form,
|
111
|
+
has_ein: has_ein,
|
112
|
+
ein_verified: ein_verified,
|
113
|
+
legal_name: legal_name,
|
114
|
+
additional_properties: struct
|
115
|
+
)
|
116
|
+
end
|
117
|
+
# Serialize an instance of FederalTaxDetails to a JSON object
|
118
|
+
#
|
119
|
+
# @return [String]
|
120
|
+
def to_json
|
121
|
+
@_field_set&.to_json
|
122
|
+
end
|
123
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
124
|
+
# hash and check each fields type against the current object's property
|
125
|
+
# definitions.
|
126
|
+
#
|
127
|
+
# @param obj [Object]
|
128
|
+
# @return [Void]
|
129
|
+
def self.validate_raw(obj:)
|
130
|
+
obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
|
131
|
+
obj.tax_payer_type&.is_a?(String) != false || raise("Passed value for field obj.tax_payer_type is not the expected type, validation failed.")
|
132
|
+
obj.taxable_as_scorp&.is_a?(Boolean) != false || raise("Passed value for field obj.taxable_as_scorp is not the expected type, validation failed.")
|
133
|
+
obj.filing_form&.is_a?(String) != false || raise("Passed value for field obj.filing_form is not the expected type, validation failed.")
|
134
|
+
obj.has_ein&.is_a?(Boolean) != false || raise("Passed value for field obj.has_ein is not the expected type, validation failed.")
|
135
|
+
obj.ein_verified&.is_a?(Boolean) != false || raise("Passed value for field obj.ein_verified is not the expected type, validation failed.")
|
136
|
+
obj.legal_name&.is_a?(String) != false || raise("Passed value for field obj.legal_name is not the expected type, validation failed.")
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "types/flows_create_request_entity_type"
|
4
|
+
require_relative "types/flow"
|
5
|
+
require "async"
|
6
|
+
require_relative "../../requests"
|
7
|
+
|
8
|
+
module Gusto
|
9
|
+
class FlowsClient
|
10
|
+
# @return [Gusto::RequestClient]
|
11
|
+
attr_reader :request_client
|
12
|
+
|
13
|
+
|
14
|
+
# @param request_client [Gusto::RequestClient]
|
15
|
+
# @return [Gusto::FlowsClient]
|
16
|
+
def initialize(request_client:)
|
17
|
+
@request_client = request_client
|
18
|
+
end
|
19
|
+
# Generate a link to access a pre-built workflow in Gusto white-label UI. For
|
20
|
+
# security, all generated flows will expire within 1 hour of inactivity or 24
|
21
|
+
# hours from creation time, whichever comes first.
|
22
|
+
# scope: `flows:write`
|
23
|
+
#
|
24
|
+
# @param company_uuid [String] The UUID of the company
|
25
|
+
# @param flow_type [String] flow type
|
26
|
+
# @param entity_uuid [String] UUID of the target entity applicable to the flow. This field is optional for
|
27
|
+
# company flows, please refer to the flow_types table above for more details.
|
28
|
+
# @param entity_type [Gusto::Flows::FlowsCreateRequestEntityType] the type of target entity applicable to the flow. This field is optional for
|
29
|
+
# company flows, please refer to the flow_types table above for more details.
|
30
|
+
# @param request_options [Gusto::RequestOptions]
|
31
|
+
# @return [Gusto::Flows::Flow]
|
32
|
+
# @example
|
33
|
+
# api = Gusto::Client.new(
|
34
|
+
# base_url: "https://api.example.com",
|
35
|
+
# environment: Gusto::Environment::DEMO,
|
36
|
+
# token: "YOUR_AUTH_TOKEN"
|
37
|
+
# )
|
38
|
+
# api.flows.create(company_uuid: "company_uuid", flow_type: "company_onboarding")
|
39
|
+
def create(company_uuid:, flow_type:, entity_uuid: nil, entity_type: nil, request_options: nil)
|
40
|
+
response = @request_client.conn.post do | req |
|
41
|
+
unless request_options&.timeout_in_seconds.nil?
|
42
|
+
req.options.timeout = request_options.timeout_in_seconds
|
43
|
+
end
|
44
|
+
unless request_options&.token.nil?
|
45
|
+
req.headers["Authorization"] = request_options.token
|
46
|
+
end
|
47
|
+
unless request_options&.gusto_api_version.nil?
|
48
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
49
|
+
end
|
50
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
51
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
52
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
53
|
+
end
|
54
|
+
req.body = { **(request_options&.additional_body_parameters || {}), flow_type: flow_type, entity_uuid: entity_uuid, entity_type: entity_type }.compact
|
55
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/flows"
|
56
|
+
end
|
57
|
+
Gusto::Flows::Flow.from_json(json_object: response.body)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
class AsyncFlowsClient
|
61
|
+
# @return [Gusto::AsyncRequestClient]
|
62
|
+
attr_reader :request_client
|
63
|
+
|
64
|
+
|
65
|
+
# @param request_client [Gusto::RequestClient]
|
66
|
+
# @return [Gusto::AsyncFlowsClient]
|
67
|
+
def initialize(request_client:)
|
68
|
+
@request_client = request_client
|
69
|
+
end
|
70
|
+
# Generate a link to access a pre-built workflow in Gusto white-label UI. For
|
71
|
+
# security, all generated flows will expire within 1 hour of inactivity or 24
|
72
|
+
# hours from creation time, whichever comes first.
|
73
|
+
# scope: `flows:write`
|
74
|
+
#
|
75
|
+
# @param company_uuid [String] The UUID of the company
|
76
|
+
# @param flow_type [String] flow type
|
77
|
+
# @param entity_uuid [String] UUID of the target entity applicable to the flow. This field is optional for
|
78
|
+
# company flows, please refer to the flow_types table above for more details.
|
79
|
+
# @param entity_type [Gusto::Flows::FlowsCreateRequestEntityType] the type of target entity applicable to the flow. This field is optional for
|
80
|
+
# company flows, please refer to the flow_types table above for more details.
|
81
|
+
# @param request_options [Gusto::RequestOptions]
|
82
|
+
# @return [Gusto::Flows::Flow]
|
83
|
+
# @example
|
84
|
+
# api = Gusto::Client.new(
|
85
|
+
# base_url: "https://api.example.com",
|
86
|
+
# environment: Gusto::Environment::DEMO,
|
87
|
+
# token: "YOUR_AUTH_TOKEN"
|
88
|
+
# )
|
89
|
+
# api.flows.create(company_uuid: "company_uuid", flow_type: "company_onboarding")
|
90
|
+
def create(company_uuid:, flow_type:, entity_uuid: nil, entity_type: nil, request_options: nil)
|
91
|
+
Async do
|
92
|
+
response = @request_client.conn.post do | req |
|
93
|
+
unless request_options&.timeout_in_seconds.nil?
|
94
|
+
req.options.timeout = request_options.timeout_in_seconds
|
95
|
+
end
|
96
|
+
unless request_options&.token.nil?
|
97
|
+
req.headers["Authorization"] = request_options.token
|
98
|
+
end
|
99
|
+
unless request_options&.gusto_api_version.nil?
|
100
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
101
|
+
end
|
102
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
103
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
104
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
105
|
+
end
|
106
|
+
req.body = { **(request_options&.additional_body_parameters || {}), flow_type: flow_type, entity_uuid: entity_uuid, entity_type: entity_type }.compact
|
107
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/flows"
|
108
|
+
end
|
109
|
+
Gusto::Flows::Flow.from_json(json_object: response.body)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
module Flows
|
7
|
+
# The representation of a flow in Gusto white-label UI.
|
8
|
+
class Flow
|
9
|
+
# @return [String]
|
10
|
+
attr_reader :url
|
11
|
+
# @return [String]
|
12
|
+
attr_reader :expires_at
|
13
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
attr_reader :additional_properties
|
15
|
+
# @return [Object]
|
16
|
+
attr_reader :_field_set
|
17
|
+
protected :_field_set
|
18
|
+
|
19
|
+
OMIT = Object.new
|
20
|
+
|
21
|
+
# @param url [String]
|
22
|
+
# @param expires_at [String]
|
23
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
24
|
+
# @return [Gusto::Flows::Flow]
|
25
|
+
def initialize(url: OMIT, expires_at: OMIT, additional_properties: nil)
|
26
|
+
@url = url if url != OMIT
|
27
|
+
@expires_at = expires_at if expires_at != OMIT
|
28
|
+
@additional_properties = additional_properties
|
29
|
+
@_field_set = { "url": url, "expires_at": expires_at }.reject do | _k, v |
|
30
|
+
v == OMIT
|
31
|
+
end
|
32
|
+
end
|
33
|
+
# Deserialize a JSON object to an instance of Flow
|
34
|
+
#
|
35
|
+
# @param json_object [String]
|
36
|
+
# @return [Gusto::Flows::Flow]
|
37
|
+
def self.from_json(json_object:)
|
38
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
39
|
+
parsed_json = JSON.parse(json_object)
|
40
|
+
url = parsed_json["url"]
|
41
|
+
expires_at = parsed_json["expires_at"]
|
42
|
+
new(
|
43
|
+
url: url,
|
44
|
+
expires_at: expires_at,
|
45
|
+
additional_properties: struct
|
46
|
+
)
|
47
|
+
end
|
48
|
+
# Serialize an instance of Flow to a JSON object
|
49
|
+
#
|
50
|
+
# @return [String]
|
51
|
+
def to_json
|
52
|
+
@_field_set&.to_json
|
53
|
+
end
|
54
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
55
|
+
# hash and check each fields type against the current object's property
|
56
|
+
# definitions.
|
57
|
+
#
|
58
|
+
# @param obj [Object]
|
59
|
+
# @return [Void]
|
60
|
+
def self.validate_raw(obj:)
|
61
|
+
obj.url&.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
|
62
|
+
obj.expires_at&.is_a?(String) != false || raise("Passed value for field obj.expires_at is not the expected type, validation failed.")
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Flows
|
5
|
+
# the type of target entity applicable to the flow. This field is optional for
|
6
|
+
# company flows, please refer to the flow_types table above for more details.
|
7
|
+
class FlowsCreateRequestEntityType
|
8
|
+
|
9
|
+
COMPANY = "Company"
|
10
|
+
EMPLOYEE = "Employee"
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
module Forms
|
7
|
+
class Form
|
8
|
+
# @return [String] The UUID of the form
|
9
|
+
attr_reader :uuid
|
10
|
+
# @return [String] The type identifier of the form
|
11
|
+
attr_reader :name
|
12
|
+
# @return [String] The title of the form
|
13
|
+
attr_reader :title
|
14
|
+
# @return [String] The description of the form
|
15
|
+
attr_reader :description
|
16
|
+
# @return [Boolean] If the form is in a draft state. E.g. End of year tax forms may be provided in a
|
17
|
+
# draft state prior to being finalized.
|
18
|
+
attr_reader :draft
|
19
|
+
# @return [Integer] The year of this form. For some forms, e.g. tax forms, this is the year which
|
20
|
+
# the form represents. A W2 for January - December 2022 would be delivered in
|
21
|
+
# January 2023 and have a year value of 2022. This value is nullable and will not
|
22
|
+
# be present on all forms.
|
23
|
+
attr_reader :year
|
24
|
+
# @return [Integer] The quarter of this form. For some forms, e.g. tax forms, this is the calendar
|
25
|
+
# quarter which this form represents. An Employer's Quarterly Federal Tax Return
|
26
|
+
# (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year
|
27
|
+
# value of 2022). This value is nullable and will not be present on all forms.
|
28
|
+
attr_reader :quarter
|
29
|
+
# @return [Boolean] A boolean flag that indicates whether the form needs signing or not. Note that
|
30
|
+
# this value will change after the form is signed.
|
31
|
+
attr_reader :requires_signing
|
32
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
33
|
+
attr_reader :additional_properties
|
34
|
+
# @return [Object]
|
35
|
+
attr_reader :_field_set
|
36
|
+
protected :_field_set
|
37
|
+
|
38
|
+
OMIT = Object.new
|
39
|
+
|
40
|
+
# @param uuid [String] The UUID of the form
|
41
|
+
# @param name [String] The type identifier of the form
|
42
|
+
# @param title [String] The title of the form
|
43
|
+
# @param description [String] The description of the form
|
44
|
+
# @param draft [Boolean] If the form is in a draft state. E.g. End of year tax forms may be provided in a
|
45
|
+
# draft state prior to being finalized.
|
46
|
+
# @param year [Integer] The year of this form. For some forms, e.g. tax forms, this is the year which
|
47
|
+
# the form represents. A W2 for January - December 2022 would be delivered in
|
48
|
+
# January 2023 and have a year value of 2022. This value is nullable and will not
|
49
|
+
# be present on all forms.
|
50
|
+
# @param quarter [Integer] The quarter of this form. For some forms, e.g. tax forms, this is the calendar
|
51
|
+
# quarter which this form represents. An Employer's Quarterly Federal Tax Return
|
52
|
+
# (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year
|
53
|
+
# value of 2022). This value is nullable and will not be present on all forms.
|
54
|
+
# @param requires_signing [Boolean] A boolean flag that indicates whether the form needs signing or not. Note that
|
55
|
+
# this value will change after the form is signed.
|
56
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
57
|
+
# @return [Gusto::Forms::Form]
|
58
|
+
def initialize(uuid:, name: OMIT, title: OMIT, description: OMIT, draft: OMIT, year: OMIT, quarter: OMIT, requires_signing: OMIT, additional_properties: nil)
|
59
|
+
@uuid = uuid
|
60
|
+
@name = name if name != OMIT
|
61
|
+
@title = title if title != OMIT
|
62
|
+
@description = description if description != OMIT
|
63
|
+
@draft = draft if draft != OMIT
|
64
|
+
@year = year if year != OMIT
|
65
|
+
@quarter = quarter if quarter != OMIT
|
66
|
+
@requires_signing = requires_signing if requires_signing != OMIT
|
67
|
+
@additional_properties = additional_properties
|
68
|
+
@_field_set = { "uuid": uuid, "name": name, "title": title, "description": description, "draft": draft, "year": year, "quarter": quarter, "requires_signing": requires_signing }.reject do | _k, v |
|
69
|
+
v == OMIT
|
70
|
+
end
|
71
|
+
end
|
72
|
+
# Deserialize a JSON object to an instance of Form
|
73
|
+
#
|
74
|
+
# @param json_object [String]
|
75
|
+
# @return [Gusto::Forms::Form]
|
76
|
+
def self.from_json(json_object:)
|
77
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
78
|
+
parsed_json = JSON.parse(json_object)
|
79
|
+
uuid = parsed_json["uuid"]
|
80
|
+
name = parsed_json["name"]
|
81
|
+
title = parsed_json["title"]
|
82
|
+
description = parsed_json["description"]
|
83
|
+
draft = parsed_json["draft"]
|
84
|
+
year = parsed_json["year"]
|
85
|
+
quarter = parsed_json["quarter"]
|
86
|
+
requires_signing = parsed_json["requires_signing"]
|
87
|
+
new(
|
88
|
+
uuid: uuid,
|
89
|
+
name: name,
|
90
|
+
title: title,
|
91
|
+
description: description,
|
92
|
+
draft: draft,
|
93
|
+
year: year,
|
94
|
+
quarter: quarter,
|
95
|
+
requires_signing: requires_signing,
|
96
|
+
additional_properties: struct
|
97
|
+
)
|
98
|
+
end
|
99
|
+
# Serialize an instance of Form to a JSON object
|
100
|
+
#
|
101
|
+
# @return [String]
|
102
|
+
def to_json
|
103
|
+
@_field_set&.to_json
|
104
|
+
end
|
105
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
106
|
+
# hash and check each fields type against the current object's property
|
107
|
+
# definitions.
|
108
|
+
#
|
109
|
+
# @param obj [Object]
|
110
|
+
# @return [Void]
|
111
|
+
def self.validate_raw(obj:)
|
112
|
+
obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
113
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
114
|
+
obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
|
115
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
116
|
+
obj.draft&.is_a?(Boolean) != false || raise("Passed value for field obj.draft is not the expected type, validation failed.")
|
117
|
+
obj.year&.is_a?(Integer) != false || raise("Passed value for field obj.year is not the expected type, validation failed.")
|
118
|
+
obj.quarter&.is_a?(Integer) != false || raise("Passed value for field obj.quarter is not the expected type, validation failed.")
|
119
|
+
obj.requires_signing&.is_a?(Boolean) != false || raise("Passed value for field obj.requires_signing is not the expected type, validation failed.")
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|