gusto_embedded_client 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gusto_embedded/client.rb +2 -1
  3. data/lib/gusto_embedded/companybenefits.rb +30 -2
  4. data/lib/gusto_embedded/contractorpayments.rb +16 -2
  5. data/lib/gusto_embedded/earningtypes.rb +16 -2
  6. data/lib/gusto_embedded/employeebenefits.rb +30 -2
  7. data/lib/gusto_embedded/employeepaymentmethod.rb +30 -2
  8. data/lib/gusto_embedded/externalpayrolls.rb +60 -4
  9. data/lib/gusto_embedded/information_requests.rb +6 -3
  10. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error.rb +32 -0
  11. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error.rbi +13 -0
  12. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_errors.rb +44 -0
  13. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_errors.rbi +19 -0
  14. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_metadata.rb +32 -0
  15. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_metadata.rbi +13 -0
  16. data/lib/gusto_embedded/models/errors.rb +3 -0
  17. data/lib/gusto_embedded/models/operations/get_information_requests_request.rb +6 -2
  18. data/lib/gusto_embedded/models/operations/get_information_requests_request.rbi +2 -0
  19. data/lib/gusto_embedded/models/operations/get_v1_companies_company_id_payrolls_payroll_id_request.rb +3 -3
  20. data/lib/gusto_embedded/models/operations/get_v1_companies_company_uuid_contractors_request.rb +1 -1
  21. data/lib/gusto_embedded/models/operations/get_v1_company_forms_request.rb +3 -3
  22. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_header_x_gusto_api_version.rb +18 -0
  23. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_header_x_gusto_api_version.rbi +11 -0
  24. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_request.rb +36 -0
  25. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_request.rbi +15 -0
  26. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_response.rb +44 -0
  27. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_response.rbi +19 -0
  28. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_security.rb +32 -0
  29. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_security.rbi +13 -0
  30. data/lib/gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_response.rb +5 -5
  31. data/lib/gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_response.rbi +2 -2
  32. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_batch.rb +36 -0
  33. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_batch.rbi +15 -0
  34. data/lib/gusto_embedded/models/operations/{sort_by.rb → post_v1_payroll_digests_batch_action.rb} +3 -4
  35. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_batch_action.rbi +11 -0
  36. data/lib/gusto_embedded/models/operations/{queryparam_sort_by.rb → post_v1_payroll_digests_entity_type.rb} +3 -4
  37. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_entity_type.rbi +11 -0
  38. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_header_x_gusto_api_version.rb +18 -0
  39. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_header_x_gusto_api_version.rbi +11 -0
  40. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_request.rb +36 -0
  41. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_request.rbi +15 -0
  42. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_requestbody.rb +40 -0
  43. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_requestbody.rbi +17 -0
  44. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_response.rb +44 -0
  45. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_response.rbi +19 -0
  46. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_security.rb +32 -0
  47. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_security.rbi +13 -0
  48. data/lib/gusto_embedded/models/operations/put_v1_companies_company_id_payrolls_payroll_id_prepare_request.rb +3 -3
  49. data/lib/gusto_embedded/models/operations/split_by.rb +1 -1
  50. data/lib/gusto_embedded/models/operations.rb +12 -4
  51. data/lib/gusto_embedded/models/shared/ach_transaction_recipient_type.rb +1 -1
  52. data/lib/gusto_embedded/models/shared/batch_action.rb +18 -0
  53. data/lib/gusto_embedded/models/{operations/sort_by.rbi → shared/batch_action.rbi} +2 -2
  54. data/lib/gusto_embedded/models/shared/blockers.rb +36 -0
  55. data/lib/gusto_embedded/models/shared/blockers.rbi +15 -0
  56. data/lib/gusto_embedded/models/shared/columns.rb +2 -0
  57. data/lib/gusto_embedded/models/shared/deduction_reduces_taxable_income.rb +1 -1
  58. data/lib/gusto_embedded/models/shared/employee_benefit.rb +6 -6
  59. data/lib/gusto_embedded/models/shared/employee_benefit.rbi +2 -2
  60. data/lib/gusto_embedded/models/shared/employee_benefit_create_request_deduction_reduces_taxable_income.rb +1 -1
  61. data/lib/gusto_embedded/models/shared/employee_benefit_create_request_limit_option.rb +1 -6
  62. data/lib/gusto_embedded/models/shared/employee_benefit_for_company_benefit.rb +6 -6
  63. data/lib/gusto_embedded/models/shared/employee_benefit_for_company_benefit.rbi +2 -2
  64. data/lib/gusto_embedded/models/shared/employee_benefit_for_company_benefit_deduction_reduces_taxable_income.rb +1 -1
  65. data/lib/gusto_embedded/models/shared/employee_benefit_update_request.rb +6 -6
  66. data/lib/gusto_embedded/models/shared/employee_benefit_update_request.rbi +2 -2
  67. data/lib/gusto_embedded/models/shared/employee_benefit_update_request_deduction_reduces_taxable_income.rb +1 -1
  68. data/lib/gusto_embedded/models/shared/employee_benefit_update_request_limit_option.rb +1 -6
  69. data/lib/gusto_embedded/models/shared/employee_state_taxes_list.rb +6 -2
  70. data/lib/gusto_embedded/models/shared/employee_state_taxes_list.rbi +2 -0
  71. data/lib/gusto_embedded/models/{operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_responsebody.rb → shared/employees_annual_fica_wage_report_acceptance.rb} +6 -6
  72. data/lib/gusto_embedded/models/{operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_responsebody.rbi → shared/employees_annual_fica_wage_report_acceptance.rbi} +2 -2
  73. data/lib/gusto_embedded/models/shared/entity_type.rb +1 -1
  74. data/lib/gusto_embedded/models/shared/funding_type.rb +4 -2
  75. data/lib/gusto_embedded/models/shared/garnishment_request_garnishment_type.rb +1 -1
  76. data/lib/gusto_embedded/models/shared/information_request_type.rb +1 -1
  77. data/lib/gusto_embedded/models/shared/integration_type.rb +1 -1
  78. data/lib/gusto_embedded/models/shared/name.rb +1 -1
  79. data/lib/gusto_embedded/models/shared/pay_schedule.rb +40 -0
  80. data/lib/gusto_embedded/models/shared/pay_schedule.rbi +17 -0
  81. data/lib/gusto_embedded/models/shared/payroll_digest.rb +44 -0
  82. data/lib/gusto_embedded/models/shared/payroll_digest.rbi +19 -0
  83. data/lib/gusto_embedded/models/shared/payroll_digest_results.rb +68 -0
  84. data/lib/gusto_embedded/models/shared/payroll_digest_results.rbi +31 -0
  85. data/lib/gusto_embedded/models/shared/payroll_digest_results_category.rb +21 -0
  86. data/lib/gusto_embedded/models/shared/payroll_digest_results_category.rbi +11 -0
  87. data/lib/gusto_embedded/models/shared/payroll_digest_results_entity_type.rb +18 -0
  88. data/lib/gusto_embedded/models/shared/payroll_digest_results_entity_type.rbi +11 -0
  89. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions.rb +52 -0
  90. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions.rbi +23 -0
  91. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_entity_type.rb +18 -0
  92. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_entity_type.rbi +11 -0
  93. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_status.rb +18 -0
  94. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_status.rbi +11 -0
  95. data/lib/gusto_embedded/models/shared/payroll_digest_results_pay_period.rb +44 -0
  96. data/lib/gusto_embedded/models/shared/payroll_digest_results_pay_period.rbi +19 -0
  97. data/lib/gusto_embedded/models/shared/payroll_digest_results_results.rb +56 -0
  98. data/lib/gusto_embedded/models/shared/payroll_digest_results_results.rbi +25 -0
  99. data/lib/gusto_embedded/models/shared/payroll_digest_results_results_status.rb +20 -0
  100. data/lib/gusto_embedded/models/shared/payroll_digest_results_results_status.rbi +11 -0
  101. data/lib/gusto_embedded/models/shared/payroll_digest_results_status.rb +21 -0
  102. data/lib/gusto_embedded/models/shared/payroll_digest_results_status.rbi +11 -0
  103. data/lib/gusto_embedded/models/shared/payroll_digest_results_totals.rb +40 -0
  104. data/lib/gusto_embedded/models/shared/payroll_digest_results_totals.rbi +17 -0
  105. data/lib/gusto_embedded/models/shared/payroll_digest_status.rb +21 -0
  106. data/lib/gusto_embedded/models/shared/payroll_digest_status.rbi +11 -0
  107. data/lib/gusto_embedded/models/shared/payroll_employee_compensations_type_payment_method.rb +1 -1
  108. data/lib/gusto_embedded/models/shared/payroll_show_payment_method.rb +1 -1
  109. data/lib/gusto_embedded/models/shared/payroll_unprocessed_employee_compensations_type_payment_method.rb +1 -1
  110. data/lib/gusto_embedded/models/shared/payrolls.rb +60 -0
  111. data/lib/gusto_embedded/models/shared/payrolls.rbi +27 -0
  112. data/lib/gusto_embedded/models/shared/update_garnishment_request_garnishment_type.rb +1 -1
  113. data/lib/gusto_embedded/models/shared.rb +18 -0
  114. data/lib/gusto_embedded/payroll_digests.rb +342 -0
  115. data/lib/gusto_embedded/reports.rb +2 -2
  116. data/lib/gusto_embedded/sdkconfiguration.rb +3 -3
  117. data/lib/gusto_embedded/time_off_requests.rb +30 -2
  118. data/lib/gusto_embedded_client.rb +1 -0
  119. metadata +69 -10
  120. data/lib/gusto_embedded/models/operations/get_v1_company_forms_queryparam_sort_by.rb +0 -23
  121. data/lib/gusto_embedded/models/operations/get_v1_company_forms_queryparam_sort_by.rbi +0 -11
  122. data/lib/gusto_embedded/models/operations/queryparam_sort_by.rbi +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe1f939db74ce4b6a94d27620d7ddc61a21fdeccd4b2623ad15545791c42ea4f
4
- data.tar.gz: 1eac36bc4722e2da9ab330daffa3ee7c361e3ada5b1497f402d7e7e23f4349b4
3
+ metadata.gz: 9bc360f12933d56f32dde1961f5ed700091f28e6bb9cb085e8682f6f1d64de6f
4
+ data.tar.gz: 80802395b343613fc13d94a5fed9eb75fd00ca0ed4d46725438aaf9182783744
5
5
  SHA512:
6
- metadata.gz: 0f44ae66b73fb7ef781eb675dc831450535abdc887e18b66c7c4749426681ac1b5602bc432c0009bb3fc9ddf5b33c38d98670ae0e38c3da92a3917b5daceb78e
7
- data.tar.gz: 579144bf1a03590ff58f897205d53ac4e5bd8b0f7214bd8d5aaebe4b4473d12cea6d2e2200c99825db8b1405434e1effb534b045fe21509f9e0a58b091dca838
6
+ metadata.gz: e2d5ddd7d8f879d41cb0520a9dfd402d7c50b6a99ff60e41fc498acd89a2cbfe66046bb3b1df3fd638b5590c59d33489b870048b22b7d74a102190d5f2467143
7
+ data.tar.gz: e7a33484728c1582f0ee5710860b682c263b3ef6bd0961d88c9030e76843ea67503e16f332b9c6692a669f97b161bc6c981b988ecc7bbc4654346657528804a8
@@ -16,7 +16,7 @@ module GustoEmbedded
16
16
  class Client
17
17
  extend T::Sig
18
18
 
19
- attr_accessor :introspection, :companies, :invoices, :company_attachments, :company_attachment, :federal_tax_details, :industry_selection, :signatories, :flows, :locations, :bank_accounts, :external_payrolls, :payment_configs, :pay_schedules, :employees, :historical_employees, :departments, :employee_employments, :employee_addresses, :employee_tax_setup, :employee_payment_methods, :employee_payment_method, :jobs_and_compensations, :earning_types, :contractors, :contractor_payment_method, :contractor_payment_methods, :webhooks, :contractor_forms, :contractor_documents, :employee_forms, :payrolls, :time_off_policies, :contractor_payments, :contractor_payment_groups, :company_forms, :generated_documents, :reports, :company_benefits, :employee_benefits, :garnishments, :i9_verification, :tax_requirements, :holiday_pay_policies, :notifications, :events, :information_requests, :recovery_cases, :ach_transactions, :wire_in_requests, :salary_estimates, :reimbursements, :people_batches, :time_off_requests
19
+ attr_accessor :introspection, :companies, :invoices, :company_attachments, :company_attachment, :federal_tax_details, :industry_selection, :signatories, :flows, :locations, :bank_accounts, :external_payrolls, :payment_configs, :pay_schedules, :employees, :historical_employees, :departments, :employee_employments, :employee_addresses, :employee_tax_setup, :employee_payment_methods, :employee_payment_method, :jobs_and_compensations, :earning_types, :contractors, :contractor_payment_method, :contractor_payment_methods, :webhooks, :contractor_forms, :contractor_documents, :employee_forms, :payrolls, :time_off_policies, :contractor_payments, :contractor_payment_groups, :company_forms, :generated_documents, :reports, :company_benefits, :employee_benefits, :garnishments, :i9_verification, :tax_requirements, :holiday_pay_policies, :notifications, :events, :information_requests, :recovery_cases, :ach_transactions, :wire_in_requests, :salary_estimates, :reimbursements, :people_batches, :time_off_requests, :payroll_digests
20
20
 
21
21
  # Instantiates the SDK, configuring it with the provided parameters.
22
22
  #
@@ -132,6 +132,7 @@ module GustoEmbedded
132
132
  @reimbursements = Reimbursements.new(@sdk_configuration)
133
133
  @people_batches = PeopleBatches.new(@sdk_configuration)
134
134
  @time_off_requests = TimeOffRequests.new(@sdk_configuration)
135
+ @payroll_digests = PayrollDigests.new(@sdk_configuration)
135
136
  end
136
137
 
137
138
  sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
@@ -677,7 +677,7 @@ module GustoEmbedded
677
677
  )
678
678
  headers = Utils.get_headers(request)
679
679
  headers = T.cast(headers, T::Hash[String, String])
680
- headers['Accept'] = '*/*'
680
+ headers['Accept'] = 'application/json'
681
681
  headers['user-agent'] = @sdk_configuration.user_agent
682
682
 
683
683
  security = @sdk_configuration.security_source&.call
@@ -755,7 +755,35 @@ module GustoEmbedded
755
755
  content_type: content_type,
756
756
  raw_response: http_response
757
757
  )
758
- elsif Utils.match_status_code(http_response.status, ['404', '422', '4XX'])
758
+ elsif Utils.match_status_code(http_response.status, ['404'])
759
+ if Utils.match_content_type(content_type, 'application/json')
760
+ http_response = @sdk_configuration.hooks.after_success(
761
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
762
+ hook_ctx: hook_ctx
763
+ ),
764
+ response: http_response
765
+ )
766
+ response_data = http_response.env.response_body
767
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundErrorObject)
768
+ raise obj
769
+ else
770
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
771
+ end
772
+ elsif Utils.match_status_code(http_response.status, ['422'])
773
+ if Utils.match_content_type(content_type, 'application/json')
774
+ http_response = @sdk_configuration.hooks.after_success(
775
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
776
+ hook_ctx: hook_ctx
777
+ ),
778
+ response: http_response
779
+ )
780
+ response_data = http_response.env.response_body
781
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntityError)
782
+ raise obj
783
+ else
784
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
785
+ end
786
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
759
787
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
760
788
  elsif Utils.match_status_code(http_response.status, ['5XX'])
761
789
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -1089,7 +1089,7 @@ module GustoEmbedded
1089
1089
  )
1090
1090
  headers = Utils.get_headers(request)
1091
1091
  headers = T.cast(headers, T::Hash[String, String])
1092
- headers['Accept'] = '*/*'
1092
+ headers['Accept'] = 'application/json'
1093
1093
  headers['user-agent'] = @sdk_configuration.user_agent
1094
1094
 
1095
1095
  security = @sdk_configuration.security_source&.call
@@ -1167,7 +1167,21 @@ module GustoEmbedded
1167
1167
  content_type: content_type,
1168
1168
  raw_response: http_response
1169
1169
  )
1170
- elsif Utils.match_status_code(http_response.status, ['404', '4XX'])
1170
+ elsif Utils.match_status_code(http_response.status, ['404'])
1171
+ if Utils.match_content_type(content_type, 'application/json')
1172
+ http_response = @sdk_configuration.hooks.after_success(
1173
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1174
+ hook_ctx: hook_ctx
1175
+ ),
1176
+ response: http_response
1177
+ )
1178
+ response_data = http_response.env.response_body
1179
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundErrorObject)
1180
+ raise obj
1181
+ else
1182
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1183
+ end
1184
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1171
1185
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1172
1186
  elsif Utils.match_status_code(http_response.status, ['5XX'])
1173
1187
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -529,7 +529,7 @@ module GustoEmbedded
529
529
  )
530
530
  headers = Utils.get_headers(request)
531
531
  headers = T.cast(headers, T::Hash[String, String])
532
- headers['Accept'] = '*/*'
532
+ headers['Accept'] = 'application/json'
533
533
  headers['user-agent'] = @sdk_configuration.user_agent
534
534
 
535
535
  security = @sdk_configuration.security_source&.call
@@ -607,7 +607,21 @@ module GustoEmbedded
607
607
  content_type: content_type,
608
608
  raw_response: http_response
609
609
  )
610
- elsif Utils.match_status_code(http_response.status, ['404', '4XX'])
610
+ elsif Utils.match_status_code(http_response.status, ['404'])
611
+ if Utils.match_content_type(content_type, 'application/json')
612
+ http_response = @sdk_configuration.hooks.after_success(
613
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
614
+ hook_ctx: hook_ctx
615
+ ),
616
+ response: http_response
617
+ )
618
+ response_data = http_response.env.response_body
619
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundErrorObject)
620
+ raise obj
621
+ else
622
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
623
+ end
624
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
611
625
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
612
626
  elsif Utils.match_status_code(http_response.status, ['5XX'])
613
627
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -663,7 +663,7 @@ module GustoEmbedded
663
663
  )
664
664
  headers = Utils.get_headers(request)
665
665
  headers = T.cast(headers, T::Hash[String, String])
666
- headers['Accept'] = '*/*'
666
+ headers['Accept'] = 'application/json'
667
667
  headers['user-agent'] = @sdk_configuration.user_agent
668
668
 
669
669
  security = @sdk_configuration.security_source&.call
@@ -741,7 +741,35 @@ module GustoEmbedded
741
741
  content_type: content_type,
742
742
  raw_response: http_response
743
743
  )
744
- elsif Utils.match_status_code(http_response.status, ['404', '422', '4XX'])
744
+ elsif Utils.match_status_code(http_response.status, ['404'])
745
+ if Utils.match_content_type(content_type, 'application/json')
746
+ http_response = @sdk_configuration.hooks.after_success(
747
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
748
+ hook_ctx: hook_ctx
749
+ ),
750
+ response: http_response
751
+ )
752
+ response_data = http_response.env.response_body
753
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundErrorObject)
754
+ raise obj
755
+ else
756
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
757
+ end
758
+ elsif Utils.match_status_code(http_response.status, ['422'])
759
+ if Utils.match_content_type(content_type, 'application/json')
760
+ http_response = @sdk_configuration.hooks.after_success(
761
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
762
+ hook_ctx: hook_ctx
763
+ ),
764
+ response: http_response
765
+ )
766
+ response_data = http_response.env.response_body
767
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntityError)
768
+ raise obj
769
+ else
770
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
771
+ end
772
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
745
773
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
746
774
  elsif Utils.match_status_code(http_response.status, ['5XX'])
747
775
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -387,7 +387,7 @@ module GustoEmbedded
387
387
  )
388
388
  headers = Utils.get_headers(request)
389
389
  headers = T.cast(headers, T::Hash[String, String])
390
- headers['Accept'] = '*/*'
390
+ headers['Accept'] = 'application/json'
391
391
  headers['user-agent'] = @sdk_configuration.user_agent
392
392
 
393
393
  security = @sdk_configuration.security_source&.call
@@ -465,7 +465,35 @@ module GustoEmbedded
465
465
  content_type: content_type,
466
466
  raw_response: http_response
467
467
  )
468
- elsif Utils.match_status_code(http_response.status, ['404', '422', '4XX'])
468
+ elsif Utils.match_status_code(http_response.status, ['404'])
469
+ if Utils.match_content_type(content_type, 'application/json')
470
+ http_response = @sdk_configuration.hooks.after_success(
471
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
472
+ hook_ctx: hook_ctx
473
+ ),
474
+ response: http_response
475
+ )
476
+ response_data = http_response.env.response_body
477
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundErrorObject)
478
+ raise obj
479
+ else
480
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
481
+ end
482
+ elsif Utils.match_status_code(http_response.status, ['422'])
483
+ if Utils.match_content_type(content_type, 'application/json')
484
+ http_response = @sdk_configuration.hooks.after_success(
485
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
486
+ hook_ctx: hook_ctx
487
+ ),
488
+ response: http_response
489
+ )
490
+ response_data = http_response.env.response_body
491
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntityError)
492
+ raise obj
493
+ else
494
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
495
+ end
496
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
469
497
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
470
498
  elsif Utils.match_status_code(http_response.status, ['5XX'])
471
499
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -660,7 +660,7 @@ module GustoEmbedded
660
660
  )
661
661
  headers = Utils.get_headers(request)
662
662
  headers = T.cast(headers, T::Hash[String, String])
663
- headers['Accept'] = '*/*'
663
+ headers['Accept'] = 'application/json'
664
664
  headers['user-agent'] = @sdk_configuration.user_agent
665
665
 
666
666
  security = @sdk_configuration.security_source&.call
@@ -738,7 +738,35 @@ module GustoEmbedded
738
738
  content_type: content_type,
739
739
  raw_response: http_response
740
740
  )
741
- elsif Utils.match_status_code(http_response.status, ['404', '422', '4XX'])
741
+ elsif Utils.match_status_code(http_response.status, ['404'])
742
+ if Utils.match_content_type(content_type, 'application/json')
743
+ http_response = @sdk_configuration.hooks.after_success(
744
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
745
+ hook_ctx: hook_ctx
746
+ ),
747
+ response: http_response
748
+ )
749
+ response_data = http_response.env.response_body
750
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundErrorObject)
751
+ raise obj
752
+ else
753
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
754
+ end
755
+ elsif Utils.match_status_code(http_response.status, ['422'])
756
+ if Utils.match_content_type(content_type, 'application/json')
757
+ http_response = @sdk_configuration.hooks.after_success(
758
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
759
+ hook_ctx: hook_ctx
760
+ ),
761
+ response: http_response
762
+ )
763
+ response_data = http_response.env.response_body
764
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntityError)
765
+ raise obj
766
+ else
767
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
768
+ end
769
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
742
770
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
743
771
  elsif Utils.match_status_code(http_response.status, ['5XX'])
744
772
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -1204,7 +1232,7 @@ module GustoEmbedded
1204
1232
  )
1205
1233
  headers = Utils.get_headers(request)
1206
1234
  headers = T.cast(headers, T::Hash[String, String])
1207
- headers['Accept'] = '*/*'
1235
+ headers['Accept'] = 'application/json'
1208
1236
  headers['user-agent'] = @sdk_configuration.user_agent
1209
1237
 
1210
1238
  security = @sdk_configuration.security_source&.call
@@ -1282,7 +1310,35 @@ module GustoEmbedded
1282
1310
  content_type: content_type,
1283
1311
  raw_response: http_response
1284
1312
  )
1285
- elsif Utils.match_status_code(http_response.status, ['404', '422', '4XX'])
1313
+ elsif Utils.match_status_code(http_response.status, ['404'])
1314
+ if Utils.match_content_type(content_type, 'application/json')
1315
+ http_response = @sdk_configuration.hooks.after_success(
1316
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1317
+ hook_ctx: hook_ctx
1318
+ ),
1319
+ response: http_response
1320
+ )
1321
+ response_data = http_response.env.response_body
1322
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundErrorObject)
1323
+ raise obj
1324
+ else
1325
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1326
+ end
1327
+ elsif Utils.match_status_code(http_response.status, ['422'])
1328
+ if Utils.match_content_type(content_type, 'application/json')
1329
+ http_response = @sdk_configuration.hooks.after_success(
1330
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1331
+ hook_ctx: hook_ctx
1332
+ ),
1333
+ response: http_response
1334
+ )
1335
+ response_data = http_response.env.response_body
1336
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UnprocessableEntityError)
1337
+ raise obj
1338
+ else
1339
+ raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1340
+ end
1341
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1286
1342
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1287
1343
  elsif Utils.match_status_code(http_response.status, ['5XX'])
1288
1344
  raise ::GustoEmbedded::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -41,8 +41,8 @@ module GustoEmbedded
41
41
 
42
42
 
43
43
 
44
- sig { params(company_uuid: ::String, x_gusto_api_version: T.nilable(Models::Operations::GetInformationRequestsHeaderXGustoAPIVersion), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetInformationRequestsResponse) }
45
- def get_information_requests(company_uuid:, x_gusto_api_version: nil, timeout_ms: nil, http_headers: nil)
44
+ sig { params(company_uuid: ::String, x_gusto_api_version: T.nilable(Models::Operations::GetInformationRequestsHeaderXGustoAPIVersion), sort_by: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetInformationRequestsResponse) }
45
+ def get_information_requests(company_uuid:, x_gusto_api_version: nil, sort_by: nil, timeout_ms: nil, http_headers: nil)
46
46
  # get_information_requests - Get all information requests for a company
47
47
  # Fetch all information requests for a company.
48
48
  #
@@ -51,7 +51,8 @@ module GustoEmbedded
51
51
  # If set, this operation will use `company_access_auth` from the global security.
52
52
  request = Models::Operations::GetInformationRequestsRequest.new(
53
53
  company_uuid: company_uuid,
54
- x_gusto_api_version: x_gusto_api_version
54
+ x_gusto_api_version: x_gusto_api_version,
55
+ sort_by: sort_by
55
56
  )
56
57
  url, params = @sdk_configuration.get_server_details
57
58
  base_url = Utils.template_url(url, params)
@@ -63,6 +64,7 @@ module GustoEmbedded
63
64
  )
64
65
  headers = Utils.get_headers(request)
65
66
  headers = T.cast(headers, T::Hash[String, String])
67
+ query_params = Utils.get_query_params(Models::Operations::GetInformationRequestsRequest, request, nil)
66
68
  headers['Accept'] = 'application/json'
67
69
  headers['user-agent'] = @sdk_configuration.user_agent
68
70
 
@@ -90,6 +92,7 @@ module GustoEmbedded
90
92
  http_response = T.must(connection).get(url) do |req|
91
93
  req.headers.merge!(headers)
92
94
  req.options.timeout = timeout unless timeout.nil?
95
+ req.params = query_params
93
96
  Utils.configure_request_security(req, security, %i[company_access_auth])
94
97
  http_headers&.each do |key, value|
95
98
  req.headers[key.to_s] = value
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module GustoEmbedded
8
+ module Models
9
+ module Errors
10
+ # Error response when a payroll digest idempotency key has already been used by the same partner.
11
+ class PayrollDigestConflictError < StandardError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :errors, Crystalline::Nilable.new(Crystalline::Array.new(Models::Errors::PayrollDigestConflictErrorErrors)), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('errors') } }
17
+
18
+ sig { params(errors: T.nilable(T::Array[Models::Errors::PayrollDigestConflictErrorErrors])).void }
19
+ def initialize(errors: nil)
20
+ @errors = errors
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @errors == other.errors
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class GustoEmbedded::Models::Errors::PayrollDigestConflictError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class GustoEmbedded::Models::Errors::PayrollDigestConflictError
11
+ def errors(); end
12
+ def errors=(str_); end
13
+ end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module GustoEmbedded
8
+ module Models
9
+ module Errors
10
+
11
+ class PayrollDigestConflictErrorErrors
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The key identifying the error source.
16
+ field :error_key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('error_key') } }
17
+ # The error category.
18
+ field :category, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('category') } }
19
+ # Human-readable error message.
20
+ field :message, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('message') } }
21
+
22
+ field :metadata, Crystalline::Nilable.new(Models::Errors::PayrollDigestConflictErrorMetadata), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('metadata') } }
23
+
24
+ sig { params(error_key: T.nilable(::String), category: T.nilable(::String), message: T.nilable(::String), metadata: T.nilable(Models::Errors::PayrollDigestConflictErrorMetadata)).void }
25
+ def initialize(error_key: nil, category: nil, message: nil, metadata: nil)
26
+ @error_key = error_key
27
+ @category = category
28
+ @message = message
29
+ @metadata = metadata
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @error_key == other.error_key
36
+ return false unless @category == other.category
37
+ return false unless @message == other.message
38
+ return false unless @metadata == other.metadata
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class GustoEmbedded::Models::Errors::PayrollDigestConflictErrorErrors
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class GustoEmbedded::Models::Errors::PayrollDigestConflictErrorErrors
11
+ def error_key(); end
12
+ def error_key=(str_); end
13
+ def category(); end
14
+ def category=(str_); end
15
+ def message(); end
16
+ def message=(str_); end
17
+ def metadata(); end
18
+ def metadata=(str_); end
19
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module GustoEmbedded
8
+ module Models
9
+ module Errors
10
+
11
+ class PayrollDigestConflictErrorMetadata
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The UUID of the existing payroll digest batch that already used this idempotency key.
16
+ field :request_uuid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('request_uuid') } }
17
+
18
+ sig { params(request_uuid: T.nilable(::String)).void }
19
+ def initialize(request_uuid: nil)
20
+ @request_uuid = request_uuid
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @request_uuid == other.request_uuid
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class GustoEmbedded::Models::Errors::PayrollDigestConflictErrorMetadata
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class GustoEmbedded::Models::Errors::PayrollDigestConflictErrorMetadata
11
+ def request_uuid(); end
12
+ def request_uuid=(str_); end
13
+ end
@@ -12,6 +12,9 @@ module GustoEmbedded
12
12
  autoload :NotFoundErrorObject, 'gusto_embedded/models/errors/not_found_error_object.rb'
13
13
  autoload :PayrollBlockersError, 'gusto_embedded/models/errors/payroll_blockers_error.rb'
14
14
  autoload :PayrollBlockersErrorErrors, 'gusto_embedded/models/errors/payroll_blockers_error_errors.rb'
15
+ autoload :PayrollDigestConflictError, 'gusto_embedded/models/errors/payroll_digest_conflict_error.rb'
16
+ autoload :PayrollDigestConflictErrorErrors, 'gusto_embedded/models/errors/payroll_digest_conflict_error_errors.rb'
17
+ autoload :PayrollDigestConflictErrorMetadata, 'gusto_embedded/models/errors/payroll_digest_conflict_error_metadata.rb'
15
18
  autoload :PeopleBatchConflictError, 'gusto_embedded/models/errors/people_batch_conflict_error.rb'
16
19
  autoload :PeopleBatchConflictErrorErrors, 'gusto_embedded/models/errors/people_batch_conflict_error_errors.rb'
17
20
  autoload :PeopleBatchConflictErrorMetadata, 'gusto_embedded/models/errors/people_batch_conflict_error_metadata.rb'
@@ -14,12 +14,15 @@ module GustoEmbedded
14
14
 
15
15
  # The UUID of the company
16
16
  field :company_uuid, ::String, { 'path_param': { 'field_name': 'company_uuid', 'style': 'simple', 'explode': false } }
17
+ # Sort by one or more fields. Options: payroll_blocker, status, type. Append `:asc` or `:desc` to specify direction (e.g., `payroll_blocker:asc`). Defaults to ascending.
18
+ field :sort_by, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'sort_by', 'style': 'form', 'explode': true } }
17
19
  # Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.
18
20
  field :x_gusto_api_version, Crystalline::Nilable.new(Models::Operations::GetInformationRequestsHeaderXGustoAPIVersion), { 'header': { 'field_name': 'X-Gusto-API-Version', 'style': 'simple', 'explode': false } }
19
21
 
20
- sig { params(company_uuid: ::String, x_gusto_api_version: T.nilable(Models::Operations::GetInformationRequestsHeaderXGustoAPIVersion)).void }
21
- def initialize(company_uuid:, x_gusto_api_version: Models::Operations::GetInformationRequestsHeaderXGustoAPIVersion::TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15)
22
+ sig { params(company_uuid: ::String, sort_by: T.nilable(::String), x_gusto_api_version: T.nilable(Models::Operations::GetInformationRequestsHeaderXGustoAPIVersion)).void }
23
+ def initialize(company_uuid:, sort_by: nil, x_gusto_api_version: Models::Operations::GetInformationRequestsHeaderXGustoAPIVersion::TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15)
22
24
  @company_uuid = company_uuid
25
+ @sort_by = sort_by
23
26
  @x_gusto_api_version = x_gusto_api_version
24
27
  end
25
28
 
@@ -27,6 +30,7 @@ module GustoEmbedded
27
30
  def ==(other)
28
31
  return false unless other.is_a? self.class
29
32
  return false unless @company_uuid == other.company_uuid
33
+ return false unless @sort_by == other.sort_by
30
34
  return false unless @x_gusto_api_version == other.x_gusto_api_version
31
35
  true
32
36
  end
@@ -10,6 +10,8 @@ end
10
10
  class GustoEmbedded::Models::Operations::GetInformationRequestsRequest
11
11
  def company_uuid(); end
12
12
  def company_uuid=(str_); end
13
+ def sort_by(); end
14
+ def sort_by=(str_); end
13
15
  def x_gusto_api_version(); end
14
16
  def x_gusto_api_version=(str_); end
15
17
  end
@@ -22,12 +22,12 @@ module GustoEmbedded
22
22
  field :page, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
23
23
  # Number of objects per page. For majority of endpoints will default to 25
24
24
  field :per, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'per', 'style': 'form', 'explode': true } }
25
- # Field to sort employee compensations by
26
- field :sort_by, Crystalline::Nilable.new(Models::Operations::SortBy), { 'query_param': { 'field_name': 'sort_by', 'style': 'form', 'explode': true } }
25
+ # Sort employee compensations by one or more fields. Options: first_name, last_name. Append `:asc` or `:desc` to specify direction (e.g., `last_name:asc` or `last_name:asc,first_name:asc`). Defaults to ascending.
26
+ field :sort_by, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'sort_by', 'style': 'form', 'explode': true } }
27
27
  # Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.
28
28
  field :x_gusto_api_version, Crystalline::Nilable.new(Models::Operations::GetV1CompaniesCompanyIdPayrollsPayrollIdHeaderXGustoAPIVersion), { 'header': { 'field_name': 'X-Gusto-API-Version', 'style': 'simple', 'explode': false } }
29
29
 
30
- sig { params(company_id: ::String, payroll_id: ::String, include: T.nilable(T::Array[Models::Operations::GetV1CompaniesCompanyIdPayrollsPayrollIdQueryParamInclude]), page: T.nilable(::Integer), per: T.nilable(::Integer), sort_by: T.nilable(Models::Operations::SortBy), x_gusto_api_version: T.nilable(Models::Operations::GetV1CompaniesCompanyIdPayrollsPayrollIdHeaderXGustoAPIVersion)).void }
30
+ sig { params(company_id: ::String, payroll_id: ::String, include: T.nilable(T::Array[Models::Operations::GetV1CompaniesCompanyIdPayrollsPayrollIdQueryParamInclude]), page: T.nilable(::Integer), per: T.nilable(::Integer), sort_by: T.nilable(::String), x_gusto_api_version: T.nilable(Models::Operations::GetV1CompaniesCompanyIdPayrollsPayrollIdHeaderXGustoAPIVersion)).void }
31
31
  def initialize(company_id:, payroll_id:, include: nil, page: nil, per: nil, sort_by: nil, x_gusto_api_version: Models::Operations::GetV1CompaniesCompanyIdPayrollsPayrollIdHeaderXGustoAPIVersion::TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15)
32
32
  @company_id = company_id
33
33
  @payroll_id = payroll_id
@@ -16,7 +16,7 @@ module GustoEmbedded
16
16
  field :company_uuid, ::String, { 'path_param': { 'field_name': 'company_uuid', 'style': 'simple', 'explode': false } }
17
17
  # A string to search for in the object's names
18
18
  field :search_term, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'search_term', 'style': 'form', 'explode': true } }
19
- # Sort contractors. Options: type, onboarding_status, name, created_at
19
+ # Sort by one or more fields. Options: created_at, type, onboarding_status, name. Append `:asc` or `:desc` to specify direction (e.g., `created_at:asc`). Defaults to ascending.
20
20
  field :sort_by, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'sort_by', 'style': 'form', 'explode': true } }
21
21
  # Filters contractors by those who have completed onboarding
22
22
  field :onboarded, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'onboarded', 'style': 'form', 'explode': true } }
@@ -14,8 +14,8 @@ module GustoEmbedded
14
14
 
15
15
  # The UUID of the company
16
16
  field :company_id, ::String, { 'path_param': { 'field_name': 'company_id', 'style': 'simple', 'explode': false } }
17
- # Sort company forms by a given field. Append `:asc` or `:desc` to specify direction (e.g., `name:asc`). Defaults to ascending.
18
- field :sort_by, Crystalline::Nilable.new(Models::Operations::GetV1CompanyFormsQueryParamSortBy), { 'query_param': { 'field_name': 'sort_by', 'style': 'form', 'explode': true } }
17
+ # Sort by one or more fields. Options: created_at, name, year, quarter, draft, document_content_type. Append `:asc` or `:desc` to specify direction (e.g., `created_at:asc`). Defaults to ascending.
18
+ field :sort_by, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'sort_by', 'style': 'form', 'explode': true } }
19
19
  # The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.
20
20
  field :page, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
21
21
  # Number of objects per page. For majority of endpoints will default to 25
@@ -23,7 +23,7 @@ module GustoEmbedded
23
23
  # Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.
24
24
  field :x_gusto_api_version, Crystalline::Nilable.new(Models::Operations::GetV1CompanyFormsHeaderXGustoAPIVersion), { 'header': { 'field_name': 'X-Gusto-API-Version', 'style': 'simple', 'explode': false } }
25
25
 
26
- sig { params(company_id: ::String, sort_by: T.nilable(Models::Operations::GetV1CompanyFormsQueryParamSortBy), page: T.nilable(::Integer), per: T.nilable(::Integer), x_gusto_api_version: T.nilable(Models::Operations::GetV1CompanyFormsHeaderXGustoAPIVersion)).void }
26
+ sig { params(company_id: ::String, sort_by: T.nilable(::String), page: T.nilable(::Integer), per: T.nilable(::Integer), x_gusto_api_version: T.nilable(Models::Operations::GetV1CompanyFormsHeaderXGustoAPIVersion)).void }
27
27
  def initialize(company_id:, sort_by: nil, page: nil, per: nil, x_gusto_api_version: Models::Operations::GetV1CompanyFormsHeaderXGustoAPIVersion::TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15)
28
28
  @company_id = company_id
29
29
  @sort_by = sort_by