Class: Gusto::AsyncPayrollClient

Inherits:
Object
  • Object
show all
Defined in:
lib/fern_gusto/payroll/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request_client:) ⇒ Gusto::AsyncPayrollClient

Parameters:



841
842
843
844
845
846
# File 'lib/fern_gusto/payroll/client.rb', line 841

def initialize(request_client:)
  @request_client = request_client
  @external_payrolls = Gusto::Payroll::AsyncExternalPayrollsClient.new(request_client: request_client)
  @pay_schedules = Gusto::Payroll::AsyncPaySchedulesClient.new(request_client: request_client)
  @earning_types = Gusto::Payroll::AsyncEarningTypesClient.new(request_client: request_client)
end

Instance Attribute Details

#earning_typesGusto::Payroll::EarningTypesClient (readonly)



836
837
838
# File 'lib/fern_gusto/payroll/client.rb', line 836

def earning_types
  @earning_types
end

#external_payrollsGusto::Payroll::ExternalPayrollsClient (readonly)



832
833
834
# File 'lib/fern_gusto/payroll/client.rb', line 832

def external_payrolls
  @external_payrolls
end

#pay_schedulesGusto::Payroll::PaySchedulesClient (readonly)



834
835
836
# File 'lib/fern_gusto/payroll/client.rb', line 834

def pay_schedules
  @pay_schedules
end

#request_clientGusto::AsyncRequestClient (readonly)



830
831
832
# File 'lib/fern_gusto/payroll/client.rb', line 830

def request_client
  @request_client
end

Instance Method Details

#calculate(company_id:, payroll_id:, request_options: nil) ⇒ Object

api.payroll.calculate(company_id: “company_id”, payroll_id: “payroll_id”)



1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
# File 'lib/fern_gusto/payroll/client.rb', line 1410

def calculate(company_id:, payroll_id:, request_options: nil)
  Async do
    response = @request_client.conn.put do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls/#{payroll_id}/calculate"
end
  end
end

#cancel(company_id:, payroll_id:, request_options: nil) ⇒ Object

api.payroll.cancel(company_id: “company_id”, payroll_id: “payroll_id”)



1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
# File 'lib/fern_gusto/payroll/client.rb', line 1496

def cancel(company_id:, payroll_id:, request_options: nil)
  Async do
    response = @request_client.conn.put do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls/#{payroll_id}/cancel"
end
    Gusto::Payrolls::Payroll.from_json(json_object: response.body)
  end
end

#create(company_id:, off_cycle:, off_cycle_reason:, start_date:, end_date:, pay_schedule_uuid: nil, employee_uuids: nil, check_date: nil, withholding_pay_period: nil, skip_regular_deductions: nil, fixed_withholding_rate: nil, request_options: nil) ⇒ Object

)



947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
# File 'lib/fern_gusto/payroll/client.rb', line 947

def create(company_id:, off_cycle:, off_cycle_reason:, start_date:, end_date:, pay_schedule_uuid: nil, employee_uuids: nil, check_date: nil, withholding_pay_period: nil, skip_regular_deductions: nil, fixed_withholding_rate: nil, request_options: nil)
  Async do
    response = @request_client.conn.post do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), off_cycle: off_cycle, off_cycle_reason: off_cycle_reason, start_date: start_date, end_date: end_date, pay_schedule_uuid: pay_schedule_uuid, employee_uuids: employee_uuids, check_date: check_date, withholding_pay_period: withholding_pay_period, skip_regular_deductions: skip_regular_deductions, fixed_withholding_rate: fixed_withholding_rate }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls"
end
    Gusto::Payrolls::PayrollPrepared.from_json(json_object: response.body)
  end
end

#delete(company_id:, payroll_id:, async: nil, request_options: nil) ⇒ Object

api.payroll.delete(company_id: “company_id”, payroll_id: “payroll_id”)



1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
# File 'lib/fern_gusto/payroll/client.rb', line 1135

def delete(company_id:, payroll_id:, async: nil, request_options: nil)
  Async do
    response = @request_client.conn.delete do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  req.params = { **(request_options&.additional_query_parameters || {}), "async": async }.compact
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls/#{payroll_id}"
end
  end
end

#generate_printable_checks(payroll_id:, printing_format:, starting_check_number: nil, request_options: nil) ⇒ Object

api.payroll.generate_printable_checks(payroll_id: “payroll_id”, printing_format: “printing_format”)



1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
# File 'lib/fern_gusto/payroll/client.rb', line 1621

def generate_printable_checks(payroll_id:, printing_format:, starting_check_number: nil, request_options: nil)
  Async do
    response = @request_client.conn.post do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), printing_format: printing_format, starting_check_number: starting_check_number }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/payrolls/#{payroll_id}/generated_documents/printable_payroll_checks"
end
    Gusto::PayrollCheck.from_json(json_object: response.body)
  end
end

#get(company_id:, payroll_id:, include: nil, request_options: nil) ⇒ Object

api.payroll.get(company_id: “company_id”, payroll_id: “payroll_id”)



1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
# File 'lib/fern_gusto/payroll/client.rb', line 1037

def get(company_id:, payroll_id:, include: nil, request_options: nil)
  Async do
    response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  req.params = { **(request_options&.additional_query_parameters || {}), "include": include }.compact
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls/#{payroll_id}"
end
    Gusto::Payrolls::Payroll.from_json(json_object: response.body)
  end
end

#get_blockers(company_uuid:, request_options: nil) ⇒ Object

api.payroll.get_blockers(company_uuid: “company_uuid”)



1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
# File 'lib/fern_gusto/payroll/client.rb', line 1259

def get_blockers(company_uuid:, request_options: nil)
  Async do
    response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/payrolls/blockers"
end
    parsed_json = JSON.parse(response.body)
    parsed_json&.map do | item |
      item = item.to_json
      Gusto::PayrollBlocker.from_json(json_object: item)
    end
  end
end

#get_pay_stub(payroll_id:, employee_id:, request_options: nil) ⇒ Object

api.payroll.get_pay_stub(payroll_id: “payroll_id”, employee_id: “employee_id”)



1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
# File 'lib/fern_gusto/payroll/client.rb', line 1536

def get_pay_stub(payroll_id:, employee_id:, request_options: nil)
  Async do
    response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/payrolls/#{payroll_id}/employees/#{employee_id}/pay_stub"
end
  end
end

#get_receipt(payroll_uuid:, request_options: nil) ⇒ Object

api.payroll.get_receipt(payroll_uuid: “payroll_uuid”)



1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
# File 'lib/fern_gusto/payroll/client.rb', line 1218

def get_receipt(payroll_uuid:, request_options: nil)
  Async do
    response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/payrolls/#{payroll_uuid}/receipt"
end
    Gusto::PayrollReceipt.from_json(json_object: response.body)
  end
end

#get_reversals(company_id:, page: nil, per: nil, request_options: nil) ⇒ Object

api.payroll.get_reversals(company_id: “company_id”)



985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
# File 'lib/fern_gusto/payroll/client.rb', line 985

def get_reversals(company_id:, page: nil, per: nil, request_options: nil)
  Async do
    response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  req.params = { **(request_options&.additional_query_parameters || {}), "page": page, "per": per }.compact
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payroll_reversals"
end
    Gusto::PayrollReversal.from_json(json_object: response.body)
  end
end

#gross_up(payroll_uuid:, employee_uuid:, net_pay:, request_options: nil) ⇒ Object

)



1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
# File 'lib/fern_gusto/payroll/client.rb', line 1364

def gross_up(payroll_uuid:, employee_uuid:, net_pay:, request_options: nil)
  Async do
    response = @request_client.conn.post do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), employee_uuid: employee_uuid, net_pay: net_pay }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/payrolls/#{payroll_uuid}/gross_up"
end
    Gusto::GrossUpPay.from_json(json_object: response.body)
  end
end

#list(company_id:, processing_statuses: nil, payroll_types: nil, include: nil, start_date: nil, end_date: nil, sort_order: nil, request_options: nil) ⇒ Object

api.payroll.list(company_id: “company_id”)



883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
# File 'lib/fern_gusto/payroll/client.rb', line 883

def list(company_id:, processing_statuses: nil, payroll_types: nil, include: nil, start_date: nil, end_date: nil, sort_order: nil, request_options: nil)
  Async do
    response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  req.params = { **(request_options&.additional_query_parameters || {}), "processing_statuses": processing_statuses, "payroll_types": payroll_types, "include": include, "start_date": start_date, "end_date": end_date, "sort_order": sort_order }.compact
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls"
end
    parsed_json = JSON.parse(response.body)
    parsed_json&.map do | item |
      item = item.to_json
      Gusto::Payrolls::PayrollMinimal.from_json(json_object: item)
    end
  end
end

#list_pay_stubs(employee_id:, request_options: nil) ⇒ Object

api.payroll.list_pay_stubs(employee_id: “employee_id”)



1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
# File 'lib/fern_gusto/payroll/client.rb', line 1572

def list_pay_stubs(employee_id:, request_options: nil)
  Async do
    response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/pay_stubs"
end
    parsed_json = JSON.parse(response.body)
    parsed_json&.map do | item |
      item = item.to_json
      Gusto::Payrolls::EmployeePayStub.from_json(json_object: item)
    end
  end
end

#prepare(company_id:, payroll_id:, request_options: nil) ⇒ Object

api.payroll.prepare(company_id: “company_id”, payroll_id: “payroll_id”)



1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
# File 'lib/fern_gusto/payroll/client.rb', line 1175

def prepare(company_id:, payroll_id:, request_options: nil)
  Async do
    response = @request_client.conn.put do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls/#{payroll_id}/prepare"
end
    Gusto::Payrolls::PayrollPrepared.from_json(json_object: response.body)
  end
end

#skip_payroll(company_uuid:, payroll_type:, start_date: nil, end_date: nil, pay_schedule_uuid: nil, employee_uuids: nil, request_options: nil) ⇒ Object

)



1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'lib/fern_gusto/payroll/client.rb', line 1319

def skip_payroll(company_uuid:, payroll_type:, start_date: nil, end_date: nil, pay_schedule_uuid: nil, employee_uuids: nil, request_options: nil)
  Async do
    response = @request_client.conn.post do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), payroll_type: payroll_type, start_date: start_date, end_date: end_date, pay_schedule_uuid: pay_schedule_uuid, employee_uuids: employee_uuids }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/payrolls/skip"
end
  end
end

#submit(company_id:, payroll_id:, submission_blockers: nil, request_options: nil) ⇒ Object

api.payroll.submit(company_id: “company_id”, payroll_id: “payroll_id”)



1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
# File 'lib/fern_gusto/payroll/client.rb', line 1458

def submit(company_id:, payroll_id:, submission_blockers: nil, request_options: nil)
  Async do
    response = @request_client.conn.put do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), submission_blockers: submission_blockers }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls/#{payroll_id}/submit"
end
  end
end

#update(company_id:, payroll_id:, employee_compensations:, request_options: nil) ⇒ Object

)



1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
# File 'lib/fern_gusto/payroll/client.rb', line 1092

def update(company_id:, payroll_id:, employee_compensations:, request_options: nil)
  Async do
    response = @request_client.conn.put do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  unless request_options&.gusto_api_version.nil?
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), employee_compensations: employee_compensations }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/payrolls/#{payroll_id}"
end
    Gusto::Payrolls::PayrollPrepared.from_json(json_object: response.body)
  end
end