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,95 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "employments_get_history_response_item_employment_status"
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Gusto
|
7
|
+
module Employees
|
8
|
+
module Employments
|
9
|
+
class EmploymentsGetHistoryResponseItem
|
10
|
+
# @return [String] The employee's start day of work for an employment.
|
11
|
+
attr_reader :hire_date
|
12
|
+
# @return [String] The employee's last day of work for an employment.
|
13
|
+
attr_reader :termination_date
|
14
|
+
# @return [Boolean] The boolean flag indicating whether Gusto will file a new hire report for the
|
15
|
+
# employee.
|
16
|
+
attr_reader :file_new_hire_report
|
17
|
+
# @return [Boolean] Whether the employee is a two percent shareholder of the company. This field
|
18
|
+
# only applies to companies with an S-Corp entity type.
|
19
|
+
attr_reader :two_percent_shareholder
|
20
|
+
# @return [Gusto::Employees::Employments::EmploymentsGetHistoryResponseItemEmploymentStatus] The employee's employment status. Supplying an invalid option will set the
|
21
|
+
# employment_status to _not_set_.
|
22
|
+
attr_reader :employment_status
|
23
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
24
|
+
attr_reader :additional_properties
|
25
|
+
# @return [Object]
|
26
|
+
attr_reader :_field_set
|
27
|
+
protected :_field_set
|
28
|
+
|
29
|
+
OMIT = Object.new
|
30
|
+
|
31
|
+
# @param hire_date [String] The employee's start day of work for an employment.
|
32
|
+
# @param termination_date [String] The employee's last day of work for an employment.
|
33
|
+
# @param file_new_hire_report [Boolean] The boolean flag indicating whether Gusto will file a new hire report for the
|
34
|
+
# employee.
|
35
|
+
# @param two_percent_shareholder [Boolean] Whether the employee is a two percent shareholder of the company. This field
|
36
|
+
# only applies to companies with an S-Corp entity type.
|
37
|
+
# @param employment_status [Gusto::Employees::Employments::EmploymentsGetHistoryResponseItemEmploymentStatus] The employee's employment status. Supplying an invalid option will set the
|
38
|
+
# employment_status to _not_set_.
|
39
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
40
|
+
# @return [Gusto::Employees::Employments::EmploymentsGetHistoryResponseItem]
|
41
|
+
def initialize(hire_date: OMIT, termination_date: OMIT, file_new_hire_report: OMIT, two_percent_shareholder: OMIT, employment_status: OMIT, additional_properties: nil)
|
42
|
+
@hire_date = hire_date if hire_date != OMIT
|
43
|
+
@termination_date = termination_date if termination_date != OMIT
|
44
|
+
@file_new_hire_report = file_new_hire_report if file_new_hire_report != OMIT
|
45
|
+
@two_percent_shareholder = two_percent_shareholder if two_percent_shareholder != OMIT
|
46
|
+
@employment_status = employment_status if employment_status != OMIT
|
47
|
+
@additional_properties = additional_properties
|
48
|
+
@_field_set = { "hire_date": hire_date, "termination_date": termination_date, "file_new_hire_report": file_new_hire_report, "two_percent_shareholder": two_percent_shareholder, "employment_status": employment_status }.reject do | _k, v |
|
49
|
+
v == OMIT
|
50
|
+
end
|
51
|
+
end
|
52
|
+
# Deserialize a JSON object to an instance of EmploymentsGetHistoryResponseItem
|
53
|
+
#
|
54
|
+
# @param json_object [String]
|
55
|
+
# @return [Gusto::Employees::Employments::EmploymentsGetHistoryResponseItem]
|
56
|
+
def self.from_json(json_object:)
|
57
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
58
|
+
parsed_json = JSON.parse(json_object)
|
59
|
+
hire_date = parsed_json["hire_date"]
|
60
|
+
termination_date = parsed_json["termination_date"]
|
61
|
+
file_new_hire_report = parsed_json["file_new_hire_report"]
|
62
|
+
two_percent_shareholder = parsed_json["two_percent_shareholder"]
|
63
|
+
employment_status = parsed_json["employment_status"]
|
64
|
+
new(
|
65
|
+
hire_date: hire_date,
|
66
|
+
termination_date: termination_date,
|
67
|
+
file_new_hire_report: file_new_hire_report,
|
68
|
+
two_percent_shareholder: two_percent_shareholder,
|
69
|
+
employment_status: employment_status,
|
70
|
+
additional_properties: struct
|
71
|
+
)
|
72
|
+
end
|
73
|
+
# Serialize an instance of EmploymentsGetHistoryResponseItem to a JSON object
|
74
|
+
#
|
75
|
+
# @return [String]
|
76
|
+
def to_json
|
77
|
+
@_field_set&.to_json
|
78
|
+
end
|
79
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
80
|
+
# hash and check each fields type against the current object's property
|
81
|
+
# definitions.
|
82
|
+
#
|
83
|
+
# @param obj [Object]
|
84
|
+
# @return [Void]
|
85
|
+
def self.validate_raw(obj:)
|
86
|
+
obj.hire_date&.is_a?(String) != false || raise("Passed value for field obj.hire_date is not the expected type, validation failed.")
|
87
|
+
obj.termination_date&.is_a?(String) != false || raise("Passed value for field obj.termination_date is not the expected type, validation failed.")
|
88
|
+
obj.file_new_hire_report&.is_a?(Boolean) != false || raise("Passed value for field obj.file_new_hire_report is not the expected type, validation failed.")
|
89
|
+
obj.two_percent_shareholder&.is_a?(Boolean) != false || raise("Passed value for field obj.two_percent_shareholder is not the expected type, validation failed.")
|
90
|
+
obj.employment_status&.is_a?(Gusto::Employees::Employments::EmploymentsGetHistoryResponseItemEmploymentStatus) != false || raise("Passed value for field obj.employment_status is not the expected type, validation failed.")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Employees
|
5
|
+
module Employments
|
6
|
+
# The employee's employment status. Supplying an invalid option will set the
|
7
|
+
# employment_status to _not_set_.
|
8
|
+
class EmploymentsGetHistoryResponseItemEmploymentStatus
|
9
|
+
|
10
|
+
PART_TIME = "part_time"
|
11
|
+
FULL_TIME = "full_time"
|
12
|
+
PART_TIME_ELIGIBLE = "part_time_eligible"
|
13
|
+
VARIABLE = "variable"
|
14
|
+
SEASONAL = "seasonal"
|
15
|
+
NOT_SET = "not_set"
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,433 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../../requests"
|
3
|
+
require_relative "types/forms_generate_w2response"
|
4
|
+
require_relative "../../forms/types/form"
|
5
|
+
require "json"
|
6
|
+
require_relative "../../types/form_pdf"
|
7
|
+
require "async"
|
8
|
+
require "async"
|
9
|
+
require "async"
|
10
|
+
require "async"
|
11
|
+
require "async"
|
12
|
+
require_relative "../../../requests"
|
13
|
+
|
14
|
+
module Gusto
|
15
|
+
module Employees
|
16
|
+
class FormsClient
|
17
|
+
# @return [Gusto::RequestClient]
|
18
|
+
attr_reader :request_client
|
19
|
+
|
20
|
+
|
21
|
+
# @param request_client [Gusto::RequestClient]
|
22
|
+
# @return [Gusto::Employees::FormsClient]
|
23
|
+
def initialize(request_client:)
|
24
|
+
@request_client = request_client
|
25
|
+
end
|
26
|
+
# > 🚧 Demo action
|
27
|
+
# >
|
28
|
+
# > This action is only available in the Demo environment
|
29
|
+
# Generates a W2 document for testing purposes.
|
30
|
+
# scope: `employees:write`
|
31
|
+
#
|
32
|
+
# @param employee_id [String] The employee UUID.
|
33
|
+
# @param year [Integer] Must be equal to or more recent than 2015. If not specified, defaults to the
|
34
|
+
# previous year.
|
35
|
+
# @param request_options [Gusto::RequestOptions]
|
36
|
+
# @return [Gusto::Employees::Forms::FormsGenerateW2Response]
|
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.employees.forms.generate_w2(employee_id: "employee_id")
|
44
|
+
def generate_w2(employee_id:, year: nil, request_options: nil)
|
45
|
+
response = @request_client.conn.post 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
|
+
req.body = { **(request_options&.additional_body_parameters || {}), employee_id: employee_id, year: year }.compact
|
60
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/sandbox/generate_w2"
|
61
|
+
end
|
62
|
+
Gusto::Employees::Forms::FormsGenerateW2Response.from_json(json_object: response.body)
|
63
|
+
end
|
64
|
+
# Get a list of all employee's forms
|
65
|
+
# scope: `employee_forms:read`
|
66
|
+
#
|
67
|
+
# @param employee_id [String] The UUID of the employee
|
68
|
+
# @param request_options [Gusto::RequestOptions]
|
69
|
+
# @return [Array<Gusto::Forms::Form>]
|
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.employees.forms.list(employee_id: "employee_id")
|
77
|
+
def list(employee_id:, request_options: nil)
|
78
|
+
response = @request_client.conn.get do | req |
|
79
|
+
unless request_options&.timeout_in_seconds.nil?
|
80
|
+
req.options.timeout = request_options.timeout_in_seconds
|
81
|
+
end
|
82
|
+
unless request_options&.token.nil?
|
83
|
+
req.headers["Authorization"] = request_options.token
|
84
|
+
end
|
85
|
+
unless request_options&.gusto_api_version.nil?
|
86
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
87
|
+
end
|
88
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
89
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
90
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
91
|
+
end
|
92
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
93
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
94
|
+
end
|
95
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms"
|
96
|
+
end
|
97
|
+
parsed_json = JSON.parse(response.body)
|
98
|
+
parsed_json&.map do | item |
|
99
|
+
item = item.to_json
|
100
|
+
Gusto::Forms::Form.from_json(json_object: item)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
# Get an employee form
|
104
|
+
# scope: `employee_forms:read`
|
105
|
+
#
|
106
|
+
# @param employee_id [String] The UUID of the employee
|
107
|
+
# @param form_id [String] The UUID of the form
|
108
|
+
# @param request_options [Gusto::RequestOptions]
|
109
|
+
# @return [Gusto::Forms::Form]
|
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.employees.forms.get(employee_id: "employee_id", form_id: "form_id")
|
117
|
+
def get(employee_id:, form_id:, request_options: nil)
|
118
|
+
response = @request_client.conn.get do | req |
|
119
|
+
unless request_options&.timeout_in_seconds.nil?
|
120
|
+
req.options.timeout = request_options.timeout_in_seconds
|
121
|
+
end
|
122
|
+
unless request_options&.token.nil?
|
123
|
+
req.headers["Authorization"] = request_options.token
|
124
|
+
end
|
125
|
+
unless request_options&.gusto_api_version.nil?
|
126
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
127
|
+
end
|
128
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
129
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
130
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
131
|
+
end
|
132
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
133
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
134
|
+
end
|
135
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms/#{form_id}"
|
136
|
+
end
|
137
|
+
Gusto::Forms::Form.from_json(json_object: response.body)
|
138
|
+
end
|
139
|
+
# Get the link to the form PDF
|
140
|
+
# scope: `employee_forms:read`
|
141
|
+
#
|
142
|
+
# @param employee_id [String] The UUID of the employee
|
143
|
+
# @param form_id [String] The UUID of the form
|
144
|
+
# @param request_options [Gusto::RequestOptions]
|
145
|
+
# @return [Gusto::FormPdf]
|
146
|
+
# @example
|
147
|
+
# api = Gusto::Client.new(
|
148
|
+
# base_url: "https://api.example.com",
|
149
|
+
# environment: Gusto::Environment::DEMO,
|
150
|
+
# token: "YOUR_AUTH_TOKEN"
|
151
|
+
# )
|
152
|
+
# api.employees.forms.get_pdf(employee_id: "employee_id", form_id: "form_id")
|
153
|
+
def get_pdf(employee_id:, form_id:, request_options: nil)
|
154
|
+
response = @request_client.conn.get do | req |
|
155
|
+
unless request_options&.timeout_in_seconds.nil?
|
156
|
+
req.options.timeout = request_options.timeout_in_seconds
|
157
|
+
end
|
158
|
+
unless request_options&.token.nil?
|
159
|
+
req.headers["Authorization"] = request_options.token
|
160
|
+
end
|
161
|
+
unless request_options&.gusto_api_version.nil?
|
162
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
163
|
+
end
|
164
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
165
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
166
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
167
|
+
end
|
168
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
169
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
170
|
+
end
|
171
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms/#{form_id}/pdf"
|
172
|
+
end
|
173
|
+
Gusto::FormPdf.from_json(json_object: response.body)
|
174
|
+
end
|
175
|
+
# Sign an employee form
|
176
|
+
# scope: `employee_forms:sign`
|
177
|
+
#
|
178
|
+
# @param employee_id [String] The UUID of the employee
|
179
|
+
# @param form_id [String] The UUID of the form
|
180
|
+
# @param signature_text [String] The signature
|
181
|
+
# @param agree [Boolean] whether you agree to sign electronically
|
182
|
+
# @param signed_by_ip_address [String] The IP address of the signatory who signed the form.
|
183
|
+
# @param request_options [Gusto::RequestOptions]
|
184
|
+
# @return [Gusto::Forms::Form]
|
185
|
+
# @example
|
186
|
+
# api = Gusto::Client.new(
|
187
|
+
# base_url: "https://api.example.com",
|
188
|
+
# environment: Gusto::Environment::DEMO,
|
189
|
+
# token: "YOUR_AUTH_TOKEN"
|
190
|
+
# )
|
191
|
+
# api.employees.forms.sign(
|
192
|
+
# employee_id: "employee_id",
|
193
|
+
# form_id: "form_id",
|
194
|
+
# signature_text: "Jane Smith",
|
195
|
+
# agree: true,
|
196
|
+
# signed_by_ip_address: "192.168.0.1"
|
197
|
+
# )
|
198
|
+
def sign(employee_id:, form_id:, signature_text:, agree:, signed_by_ip_address:, request_options: nil)
|
199
|
+
response = @request_client.conn.put do | req |
|
200
|
+
unless request_options&.timeout_in_seconds.nil?
|
201
|
+
req.options.timeout = request_options.timeout_in_seconds
|
202
|
+
end
|
203
|
+
unless request_options&.token.nil?
|
204
|
+
req.headers["Authorization"] = request_options.token
|
205
|
+
end
|
206
|
+
unless request_options&.gusto_api_version.nil?
|
207
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
208
|
+
end
|
209
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
210
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
211
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
212
|
+
end
|
213
|
+
req.body = { **(request_options&.additional_body_parameters || {}), signature_text: signature_text, agree: agree, signed_by_ip_address: signed_by_ip_address }.compact
|
214
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms/#{form_id}/sign"
|
215
|
+
end
|
216
|
+
Gusto::Forms::Form.from_json(json_object: response.body)
|
217
|
+
end
|
218
|
+
end
|
219
|
+
class AsyncFormsClient
|
220
|
+
# @return [Gusto::AsyncRequestClient]
|
221
|
+
attr_reader :request_client
|
222
|
+
|
223
|
+
|
224
|
+
# @param request_client [Gusto::RequestClient]
|
225
|
+
# @return [Gusto::Employees::AsyncFormsClient]
|
226
|
+
def initialize(request_client:)
|
227
|
+
@request_client = request_client
|
228
|
+
end
|
229
|
+
# > 🚧 Demo action
|
230
|
+
# >
|
231
|
+
# > This action is only available in the Demo environment
|
232
|
+
# Generates a W2 document for testing purposes.
|
233
|
+
# scope: `employees:write`
|
234
|
+
#
|
235
|
+
# @param employee_id [String] The employee UUID.
|
236
|
+
# @param year [Integer] Must be equal to or more recent than 2015. If not specified, defaults to the
|
237
|
+
# previous year.
|
238
|
+
# @param request_options [Gusto::RequestOptions]
|
239
|
+
# @return [Gusto::Employees::Forms::FormsGenerateW2Response]
|
240
|
+
# @example
|
241
|
+
# api = Gusto::Client.new(
|
242
|
+
# base_url: "https://api.example.com",
|
243
|
+
# environment: Gusto::Environment::DEMO,
|
244
|
+
# token: "YOUR_AUTH_TOKEN"
|
245
|
+
# )
|
246
|
+
# api.employees.forms.generate_w2(employee_id: "employee_id")
|
247
|
+
def generate_w2(employee_id:, year: nil, request_options: nil)
|
248
|
+
Async do
|
249
|
+
response = @request_client.conn.post do | req |
|
250
|
+
unless request_options&.timeout_in_seconds.nil?
|
251
|
+
req.options.timeout = request_options.timeout_in_seconds
|
252
|
+
end
|
253
|
+
unless request_options&.token.nil?
|
254
|
+
req.headers["Authorization"] = request_options.token
|
255
|
+
end
|
256
|
+
unless request_options&.gusto_api_version.nil?
|
257
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
258
|
+
end
|
259
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
260
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
261
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
262
|
+
end
|
263
|
+
req.body = { **(request_options&.additional_body_parameters || {}), employee_id: employee_id, year: year }.compact
|
264
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/sandbox/generate_w2"
|
265
|
+
end
|
266
|
+
Gusto::Employees::Forms::FormsGenerateW2Response.from_json(json_object: response.body)
|
267
|
+
end
|
268
|
+
end
|
269
|
+
# Get a list of all employee's forms
|
270
|
+
# scope: `employee_forms:read`
|
271
|
+
#
|
272
|
+
# @param employee_id [String] The UUID of the employee
|
273
|
+
# @param request_options [Gusto::RequestOptions]
|
274
|
+
# @return [Array<Gusto::Forms::Form>]
|
275
|
+
# @example
|
276
|
+
# api = Gusto::Client.new(
|
277
|
+
# base_url: "https://api.example.com",
|
278
|
+
# environment: Gusto::Environment::DEMO,
|
279
|
+
# token: "YOUR_AUTH_TOKEN"
|
280
|
+
# )
|
281
|
+
# api.employees.forms.list(employee_id: "employee_id")
|
282
|
+
def list(employee_id:, request_options: nil)
|
283
|
+
Async do
|
284
|
+
response = @request_client.conn.get do | req |
|
285
|
+
unless request_options&.timeout_in_seconds.nil?
|
286
|
+
req.options.timeout = request_options.timeout_in_seconds
|
287
|
+
end
|
288
|
+
unless request_options&.token.nil?
|
289
|
+
req.headers["Authorization"] = request_options.token
|
290
|
+
end
|
291
|
+
unless request_options&.gusto_api_version.nil?
|
292
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
293
|
+
end
|
294
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
295
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
296
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
297
|
+
end
|
298
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
299
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
300
|
+
end
|
301
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms"
|
302
|
+
end
|
303
|
+
parsed_json = JSON.parse(response.body)
|
304
|
+
parsed_json&.map do | item |
|
305
|
+
item = item.to_json
|
306
|
+
Gusto::Forms::Form.from_json(json_object: item)
|
307
|
+
end
|
308
|
+
end
|
309
|
+
end
|
310
|
+
# Get an employee form
|
311
|
+
# scope: `employee_forms:read`
|
312
|
+
#
|
313
|
+
# @param employee_id [String] The UUID of the employee
|
314
|
+
# @param form_id [String] The UUID of the form
|
315
|
+
# @param request_options [Gusto::RequestOptions]
|
316
|
+
# @return [Gusto::Forms::Form]
|
317
|
+
# @example
|
318
|
+
# api = Gusto::Client.new(
|
319
|
+
# base_url: "https://api.example.com",
|
320
|
+
# environment: Gusto::Environment::DEMO,
|
321
|
+
# token: "YOUR_AUTH_TOKEN"
|
322
|
+
# )
|
323
|
+
# api.employees.forms.get(employee_id: "employee_id", form_id: "form_id")
|
324
|
+
def get(employee_id:, form_id:, request_options: nil)
|
325
|
+
Async do
|
326
|
+
response = @request_client.conn.get do | req |
|
327
|
+
unless request_options&.timeout_in_seconds.nil?
|
328
|
+
req.options.timeout = request_options.timeout_in_seconds
|
329
|
+
end
|
330
|
+
unless request_options&.token.nil?
|
331
|
+
req.headers["Authorization"] = request_options.token
|
332
|
+
end
|
333
|
+
unless request_options&.gusto_api_version.nil?
|
334
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
335
|
+
end
|
336
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
337
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
338
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
339
|
+
end
|
340
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
341
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
342
|
+
end
|
343
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms/#{form_id}"
|
344
|
+
end
|
345
|
+
Gusto::Forms::Form.from_json(json_object: response.body)
|
346
|
+
end
|
347
|
+
end
|
348
|
+
# Get the link to the form PDF
|
349
|
+
# scope: `employee_forms:read`
|
350
|
+
#
|
351
|
+
# @param employee_id [String] The UUID of the employee
|
352
|
+
# @param form_id [String] The UUID of the form
|
353
|
+
# @param request_options [Gusto::RequestOptions]
|
354
|
+
# @return [Gusto::FormPdf]
|
355
|
+
# @example
|
356
|
+
# api = Gusto::Client.new(
|
357
|
+
# base_url: "https://api.example.com",
|
358
|
+
# environment: Gusto::Environment::DEMO,
|
359
|
+
# token: "YOUR_AUTH_TOKEN"
|
360
|
+
# )
|
361
|
+
# api.employees.forms.get_pdf(employee_id: "employee_id", form_id: "form_id")
|
362
|
+
def get_pdf(employee_id:, form_id:, request_options: nil)
|
363
|
+
Async do
|
364
|
+
response = @request_client.conn.get do | req |
|
365
|
+
unless request_options&.timeout_in_seconds.nil?
|
366
|
+
req.options.timeout = request_options.timeout_in_seconds
|
367
|
+
end
|
368
|
+
unless request_options&.token.nil?
|
369
|
+
req.headers["Authorization"] = request_options.token
|
370
|
+
end
|
371
|
+
unless request_options&.gusto_api_version.nil?
|
372
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
373
|
+
end
|
374
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
375
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
376
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
377
|
+
end
|
378
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
379
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
380
|
+
end
|
381
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms/#{form_id}/pdf"
|
382
|
+
end
|
383
|
+
Gusto::FormPdf.from_json(json_object: response.body)
|
384
|
+
end
|
385
|
+
end
|
386
|
+
# Sign an employee form
|
387
|
+
# scope: `employee_forms:sign`
|
388
|
+
#
|
389
|
+
# @param employee_id [String] The UUID of the employee
|
390
|
+
# @param form_id [String] The UUID of the form
|
391
|
+
# @param signature_text [String] The signature
|
392
|
+
# @param agree [Boolean] whether you agree to sign electronically
|
393
|
+
# @param signed_by_ip_address [String] The IP address of the signatory who signed the form.
|
394
|
+
# @param request_options [Gusto::RequestOptions]
|
395
|
+
# @return [Gusto::Forms::Form]
|
396
|
+
# @example
|
397
|
+
# api = Gusto::Client.new(
|
398
|
+
# base_url: "https://api.example.com",
|
399
|
+
# environment: Gusto::Environment::DEMO,
|
400
|
+
# token: "YOUR_AUTH_TOKEN"
|
401
|
+
# )
|
402
|
+
# api.employees.forms.sign(
|
403
|
+
# employee_id: "employee_id",
|
404
|
+
# form_id: "form_id",
|
405
|
+
# signature_text: "Jane Smith",
|
406
|
+
# agree: true,
|
407
|
+
# signed_by_ip_address: "192.168.0.1"
|
408
|
+
# )
|
409
|
+
def sign(employee_id:, form_id:, signature_text:, agree:, signed_by_ip_address:, request_options: nil)
|
410
|
+
Async do
|
411
|
+
response = @request_client.conn.put do | req |
|
412
|
+
unless request_options&.timeout_in_seconds.nil?
|
413
|
+
req.options.timeout = request_options.timeout_in_seconds
|
414
|
+
end
|
415
|
+
unless request_options&.token.nil?
|
416
|
+
req.headers["Authorization"] = request_options.token
|
417
|
+
end
|
418
|
+
unless request_options&.gusto_api_version.nil?
|
419
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
420
|
+
end
|
421
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
422
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
423
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
424
|
+
end
|
425
|
+
req.body = { **(request_options&.additional_body_parameters || {}), signature_text: signature_text, agree: agree, signed_by_ip_address: signed_by_ip_address }.compact
|
426
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/forms/#{form_id}/sign"
|
427
|
+
end
|
428
|
+
Gusto::Forms::Form.from_json(json_object: response.body)
|
429
|
+
end
|
430
|
+
end
|
431
|
+
end
|
432
|
+
end
|
433
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
module Employees
|
7
|
+
module Forms
|
8
|
+
class FormsGenerateW2Response
|
9
|
+
# @return [String] The UUID of the employee
|
10
|
+
attr_reader :employee_uuid
|
11
|
+
# @return [String] The UUID of the form
|
12
|
+
attr_reader :uuid
|
13
|
+
# @return [String] The type identifier of the form
|
14
|
+
attr_reader :name
|
15
|
+
# @return [String] The title of the form
|
16
|
+
attr_reader :title
|
17
|
+
# @return [String] The description of the form
|
18
|
+
attr_reader :description
|
19
|
+
# @return [Boolean] If the form is in a draft state. E.g. End of year tax forms may be provided in a
|
20
|
+
# draft state prior to being finalized.
|
21
|
+
attr_reader :draft
|
22
|
+
# @return [Integer] The year of this form. For some forms, e.g. tax forms, this is the year which
|
23
|
+
# the form represents. A W2 for January - December 2022 would be delivered in
|
24
|
+
# January 2023 and have a year value of 2022. This value is nullable and will not
|
25
|
+
# be present on all forms.
|
26
|
+
attr_reader :year
|
27
|
+
# @return [Integer] The quarter of this form. For some forms, e.g. tax forms, this is the calendar
|
28
|
+
# quarter which this form represents. An Employer's Quarterly Federal Tax Return
|
29
|
+
# (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year
|
30
|
+
# value of 2022). This value is nullable and will not be present on all forms.
|
31
|
+
attr_reader :quarter
|
32
|
+
# @return [Boolean] A boolean flag that indicates whether the form needs signing or not. Note that
|
33
|
+
# this value will change after the form is signed.
|
34
|
+
attr_reader :requires_signing
|
35
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
36
|
+
attr_reader :additional_properties
|
37
|
+
# @return [Object]
|
38
|
+
attr_reader :_field_set
|
39
|
+
protected :_field_set
|
40
|
+
|
41
|
+
OMIT = Object.new
|
42
|
+
|
43
|
+
# @param employee_uuid [String] The UUID of the employee
|
44
|
+
# @param uuid [String] The UUID of the form
|
45
|
+
# @param name [String] The type identifier of the form
|
46
|
+
# @param title [String] The title of the form
|
47
|
+
# @param description [String] The description of the form
|
48
|
+
# @param draft [Boolean] If the form is in a draft state. E.g. End of year tax forms may be provided in a
|
49
|
+
# draft state prior to being finalized.
|
50
|
+
# @param year [Integer] The year of this form. For some forms, e.g. tax forms, this is the year which
|
51
|
+
# the form represents. A W2 for January - December 2022 would be delivered in
|
52
|
+
# January 2023 and have a year value of 2022. This value is nullable and will not
|
53
|
+
# be present on all forms.
|
54
|
+
# @param quarter [Integer] The quarter of this form. For some forms, e.g. tax forms, this is the calendar
|
55
|
+
# quarter which this form represents. An Employer's Quarterly Federal Tax Return
|
56
|
+
# (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year
|
57
|
+
# value of 2022). This value is nullable and will not be present on all forms.
|
58
|
+
# @param requires_signing [Boolean] A boolean flag that indicates whether the form needs signing or not. Note that
|
59
|
+
# this value will change after the form is signed.
|
60
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
61
|
+
# @return [Gusto::Employees::Forms::FormsGenerateW2Response]
|
62
|
+
def initialize(employee_uuid: OMIT, uuid:, name: OMIT, title: OMIT, description: OMIT, draft: OMIT, year: OMIT, quarter: OMIT, requires_signing: OMIT, additional_properties: nil)
|
63
|
+
@employee_uuid = employee_uuid if employee_uuid != OMIT
|
64
|
+
@uuid = uuid
|
65
|
+
@name = name if name != OMIT
|
66
|
+
@title = title if title != OMIT
|
67
|
+
@description = description if description != OMIT
|
68
|
+
@draft = draft if draft != OMIT
|
69
|
+
@year = year if year != OMIT
|
70
|
+
@quarter = quarter if quarter != OMIT
|
71
|
+
@requires_signing = requires_signing if requires_signing != OMIT
|
72
|
+
@additional_properties = additional_properties
|
73
|
+
@_field_set = { "employee_uuid": employee_uuid, "uuid": uuid, "name": name, "title": title, "description": description, "draft": draft, "year": year, "quarter": quarter, "requires_signing": requires_signing }.reject do | _k, v |
|
74
|
+
v == OMIT
|
75
|
+
end
|
76
|
+
end
|
77
|
+
# Deserialize a JSON object to an instance of FormsGenerateW2Response
|
78
|
+
#
|
79
|
+
# @param json_object [String]
|
80
|
+
# @return [Gusto::Employees::Forms::FormsGenerateW2Response]
|
81
|
+
def self.from_json(json_object:)
|
82
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
83
|
+
parsed_json = JSON.parse(json_object)
|
84
|
+
employee_uuid = parsed_json["employee_uuid"]
|
85
|
+
uuid = parsed_json["uuid"]
|
86
|
+
name = parsed_json["name"]
|
87
|
+
title = parsed_json["title"]
|
88
|
+
description = parsed_json["description"]
|
89
|
+
draft = parsed_json["draft"]
|
90
|
+
year = parsed_json["year"]
|
91
|
+
quarter = parsed_json["quarter"]
|
92
|
+
requires_signing = parsed_json["requires_signing"]
|
93
|
+
new(
|
94
|
+
employee_uuid: employee_uuid,
|
95
|
+
uuid: uuid,
|
96
|
+
name: name,
|
97
|
+
title: title,
|
98
|
+
description: description,
|
99
|
+
draft: draft,
|
100
|
+
year: year,
|
101
|
+
quarter: quarter,
|
102
|
+
requires_signing: requires_signing,
|
103
|
+
additional_properties: struct
|
104
|
+
)
|
105
|
+
end
|
106
|
+
# Serialize an instance of FormsGenerateW2Response to a JSON object
|
107
|
+
#
|
108
|
+
# @return [String]
|
109
|
+
def to_json
|
110
|
+
@_field_set&.to_json
|
111
|
+
end
|
112
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
113
|
+
# hash and check each fields type against the current object's property
|
114
|
+
# definitions.
|
115
|
+
#
|
116
|
+
# @param obj [Object]
|
117
|
+
# @return [Void]
|
118
|
+
def self.validate_raw(obj:)
|
119
|
+
obj.employee_uuid&.is_a?(String) != false || raise("Passed value for field obj.employee_uuid is not the expected type, validation failed.")
|
120
|
+
obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
121
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
122
|
+
obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
|
123
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
124
|
+
obj.draft&.is_a?(Boolean) != false || raise("Passed value for field obj.draft is not the expected type, validation failed.")
|
125
|
+
obj.year&.is_a?(Integer) != false || raise("Passed value for field obj.year is not the expected type, validation failed.")
|
126
|
+
obj.quarter&.is_a?(Integer) != false || raise("Passed value for field obj.quarter is not the expected type, validation failed.")
|
127
|
+
obj.requires_signing&.is_a?(Boolean) != false || raise("Passed value for field obj.requires_signing is not the expected type, validation failed.")
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|