xero-ruby 3.10.0 → 3.11.0
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 +4 -4
- data/lib/xero-ruby/api/accounting_api.rb +403 -0
- data/lib/xero-ruby/models/accounting/batch_payment_delete.rb +244 -0
- data/lib/xero-ruby/models/accounting/batch_payment_delete_by_url_param.rb +229 -0
- data/lib/xero-ruby/models/accounting/repeating_invoice.rb +53 -5
- data/lib/xero-ruby/models/payroll_au/earnings_type.rb +2 -0
- data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +11 -1
- data/lib/xero-ruby/version.rb +2 -2
- data/lib/xero-ruby.rb +2 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c835eed40b43d98cc3e443b861d03ec03f67c659611c36beb8ae66f3115454fb
|
4
|
+
data.tar.gz: b06d56f98ee5cbc136c3971d3db74e5c1c6347a83fb89825479d62befbb190c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19758f8f9a2afff93de80d10afda49fca73c5c1af5914f66aa561878b4504c9bb5805db7cfc45331eaa2441e1b054bc957bd448cf033638c9ae258295a6564ea
|
7
|
+
data.tar.gz: a4dc1ff1dfe44f34035e3a506acdd22b20e9d22dc919b0379b7e07a10449c3c44c80f3b8f91d56a3a5827e45032125b368c144874999f59d2cc630edf9f2daa4
|
@@ -4337,6 +4337,86 @@ module XeroRuby
|
|
4337
4337
|
return data, status_code, headers
|
4338
4338
|
end
|
4339
4339
|
|
4340
|
+
# Creates one or more repeating invoice templates
|
4341
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4342
|
+
# @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
|
4343
|
+
# @param [Hash] opts the optional parameters
|
4344
|
+
# @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
|
4345
|
+
# @return [RepeatingInvoices]
|
4346
|
+
def create_repeating_invoices(xero_tenant_id, repeating_invoices, opts = {})
|
4347
|
+
data, _status_code, _headers = create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, opts)
|
4348
|
+
data
|
4349
|
+
end
|
4350
|
+
|
4351
|
+
# Creates one or more repeating invoice templates
|
4352
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4353
|
+
# @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
|
4354
|
+
# @param [Hash] opts the optional parameters
|
4355
|
+
# @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
|
4356
|
+
# @return [Array<(RepeatingInvoices, Integer, Hash)>] RepeatingInvoices data, response status code and response headers
|
4357
|
+
def create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, options = {})
|
4358
|
+
opts = options.dup
|
4359
|
+
if @api_client.config.debugging
|
4360
|
+
@api_client.config.logger.debug 'Calling API: AccountingApi.create_repeating_invoices ...'
|
4361
|
+
end
|
4362
|
+
# verify the required parameter 'xero_tenant_id' is set
|
4363
|
+
if @api_client.config.client_side_validation && xero_tenant_id.nil?
|
4364
|
+
fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.create_repeating_invoices"
|
4365
|
+
end
|
4366
|
+
# verify the required parameter 'repeating_invoices' is set
|
4367
|
+
if @api_client.config.client_side_validation && repeating_invoices.nil?
|
4368
|
+
fail ArgumentError, "Missing the required parameter 'repeating_invoices' when calling AccountingApi.create_repeating_invoices"
|
4369
|
+
end
|
4370
|
+
# resource path
|
4371
|
+
local_var_path = '/RepeatingInvoices'
|
4372
|
+
|
4373
|
+
# camelize keys of incoming `where` opts
|
4374
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
4375
|
+
|
4376
|
+
# query parameters
|
4377
|
+
query_params = opts[:query_params] || {}
|
4378
|
+
query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
|
4379
|
+
|
4380
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
4381
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
4382
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
4383
|
+
|
4384
|
+
# header parameters
|
4385
|
+
header_params = opts[:header_params] || {}
|
4386
|
+
# HTTP header 'Accept' (if needed)
|
4387
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
4388
|
+
# HTTP header 'Content-Type'
|
4389
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
4390
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
4391
|
+
|
4392
|
+
# form parameters
|
4393
|
+
form_params = opts[:form_params] || {}
|
4394
|
+
|
4395
|
+
# http body (model)
|
4396
|
+
post_body = opts[:body] || @api_client.object_to_http_body(repeating_invoices)
|
4397
|
+
|
4398
|
+
# return_type
|
4399
|
+
return_type = opts[:return_type] || 'RepeatingInvoices'
|
4400
|
+
|
4401
|
+
# auth_names
|
4402
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
4403
|
+
|
4404
|
+
new_options = opts.merge(
|
4405
|
+
:header_params => header_params,
|
4406
|
+
:query_params => query_params,
|
4407
|
+
:form_params => form_params,
|
4408
|
+
:body => post_body,
|
4409
|
+
:auth_names => auth_names,
|
4410
|
+
:return_type => return_type
|
4411
|
+
)
|
4412
|
+
|
4413
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "AccountingApi", new_options)
|
4414
|
+
if @api_client.config.debugging
|
4415
|
+
@api_client.config.logger.debug "API called: AccountingApi#create_repeating_invoices\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
4416
|
+
end
|
4417
|
+
return data, status_code, headers
|
4418
|
+
end
|
4419
|
+
|
4340
4420
|
# Creates one or more tax rates
|
4341
4421
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4342
4422
|
# @param tax_rates [TaxRates] TaxRates array with TaxRate object in body of request
|
@@ -4649,6 +4729,166 @@ module XeroRuby
|
|
4649
4729
|
return data, status_code, headers
|
4650
4730
|
end
|
4651
4731
|
|
4732
|
+
# Updates a specific batch payment for invoices and credit notes
|
4733
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4734
|
+
# @param batch_payment_delete [BatchPaymentDelete]
|
4735
|
+
# @param [Hash] opts the optional parameters
|
4736
|
+
# @return [BatchPayments]
|
4737
|
+
def delete_batch_payment(xero_tenant_id, batch_payment_delete, opts = {})
|
4738
|
+
data, _status_code, _headers = delete_batch_payment_with_http_info(xero_tenant_id, batch_payment_delete, opts)
|
4739
|
+
data
|
4740
|
+
end
|
4741
|
+
|
4742
|
+
# Updates a specific batch payment for invoices and credit notes
|
4743
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4744
|
+
# @param batch_payment_delete [BatchPaymentDelete]
|
4745
|
+
# @param [Hash] opts the optional parameters
|
4746
|
+
# @return [Array<(BatchPayments, Integer, Hash)>] BatchPayments data, response status code and response headers
|
4747
|
+
def delete_batch_payment_with_http_info(xero_tenant_id, batch_payment_delete, options = {})
|
4748
|
+
opts = options.dup
|
4749
|
+
if @api_client.config.debugging
|
4750
|
+
@api_client.config.logger.debug 'Calling API: AccountingApi.delete_batch_payment ...'
|
4751
|
+
end
|
4752
|
+
# verify the required parameter 'xero_tenant_id' is set
|
4753
|
+
if @api_client.config.client_side_validation && xero_tenant_id.nil?
|
4754
|
+
fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.delete_batch_payment"
|
4755
|
+
end
|
4756
|
+
# verify the required parameter 'batch_payment_delete' is set
|
4757
|
+
if @api_client.config.client_side_validation && batch_payment_delete.nil?
|
4758
|
+
fail ArgumentError, "Missing the required parameter 'batch_payment_delete' when calling AccountingApi.delete_batch_payment"
|
4759
|
+
end
|
4760
|
+
# resource path
|
4761
|
+
local_var_path = '/BatchPayments'
|
4762
|
+
|
4763
|
+
# camelize keys of incoming `where` opts
|
4764
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
4765
|
+
|
4766
|
+
# query parameters
|
4767
|
+
query_params = opts[:query_params] || {}
|
4768
|
+
|
4769
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
4770
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
4771
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
4772
|
+
|
4773
|
+
# header parameters
|
4774
|
+
header_params = opts[:header_params] || {}
|
4775
|
+
# HTTP header 'Accept' (if needed)
|
4776
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
4777
|
+
# HTTP header 'Content-Type'
|
4778
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
4779
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
4780
|
+
|
4781
|
+
# form parameters
|
4782
|
+
form_params = opts[:form_params] || {}
|
4783
|
+
|
4784
|
+
# http body (model)
|
4785
|
+
post_body = opts[:body] || @api_client.object_to_http_body(batch_payment_delete)
|
4786
|
+
|
4787
|
+
# return_type
|
4788
|
+
return_type = opts[:return_type] || 'BatchPayments'
|
4789
|
+
|
4790
|
+
# auth_names
|
4791
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
4792
|
+
|
4793
|
+
new_options = opts.merge(
|
4794
|
+
:header_params => header_params,
|
4795
|
+
:query_params => query_params,
|
4796
|
+
:form_params => form_params,
|
4797
|
+
:body => post_body,
|
4798
|
+
:auth_names => auth_names,
|
4799
|
+
:return_type => return_type
|
4800
|
+
)
|
4801
|
+
|
4802
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
|
4803
|
+
if @api_client.config.debugging
|
4804
|
+
@api_client.config.logger.debug "API called: AccountingApi#delete_batch_payment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
4805
|
+
end
|
4806
|
+
return data, status_code, headers
|
4807
|
+
end
|
4808
|
+
|
4809
|
+
# Updates a specific batch payment for invoices and credit notes
|
4810
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4811
|
+
# @param batch_payment_id [String] Unique identifier for BatchPayment
|
4812
|
+
# @param batch_payment_delete_by_url_param [BatchPaymentDeleteByUrlParam]
|
4813
|
+
# @param [Hash] opts the optional parameters
|
4814
|
+
# @return [BatchPayments]
|
4815
|
+
def delete_batch_payment_by_url_param(xero_tenant_id, batch_payment_id, batch_payment_delete_by_url_param, opts = {})
|
4816
|
+
data, _status_code, _headers = delete_batch_payment_by_url_param_with_http_info(xero_tenant_id, batch_payment_id, batch_payment_delete_by_url_param, opts)
|
4817
|
+
data
|
4818
|
+
end
|
4819
|
+
|
4820
|
+
# Updates a specific batch payment for invoices and credit notes
|
4821
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4822
|
+
# @param batch_payment_id [String] Unique identifier for BatchPayment
|
4823
|
+
# @param batch_payment_delete_by_url_param [BatchPaymentDeleteByUrlParam]
|
4824
|
+
# @param [Hash] opts the optional parameters
|
4825
|
+
# @return [Array<(BatchPayments, Integer, Hash)>] BatchPayments data, response status code and response headers
|
4826
|
+
def delete_batch_payment_by_url_param_with_http_info(xero_tenant_id, batch_payment_id, batch_payment_delete_by_url_param, options = {})
|
4827
|
+
opts = options.dup
|
4828
|
+
if @api_client.config.debugging
|
4829
|
+
@api_client.config.logger.debug 'Calling API: AccountingApi.delete_batch_payment_by_url_param ...'
|
4830
|
+
end
|
4831
|
+
# verify the required parameter 'xero_tenant_id' is set
|
4832
|
+
if @api_client.config.client_side_validation && xero_tenant_id.nil?
|
4833
|
+
fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.delete_batch_payment_by_url_param"
|
4834
|
+
end
|
4835
|
+
# verify the required parameter 'batch_payment_id' is set
|
4836
|
+
if @api_client.config.client_side_validation && batch_payment_id.nil?
|
4837
|
+
fail ArgumentError, "Missing the required parameter 'batch_payment_id' when calling AccountingApi.delete_batch_payment_by_url_param"
|
4838
|
+
end
|
4839
|
+
# verify the required parameter 'batch_payment_delete_by_url_param' is set
|
4840
|
+
if @api_client.config.client_side_validation && batch_payment_delete_by_url_param.nil?
|
4841
|
+
fail ArgumentError, "Missing the required parameter 'batch_payment_delete_by_url_param' when calling AccountingApi.delete_batch_payment_by_url_param"
|
4842
|
+
end
|
4843
|
+
# resource path
|
4844
|
+
local_var_path = '/BatchPayments/{BatchPaymentID}'.sub('{' + 'BatchPaymentID' + '}', batch_payment_id.to_s)
|
4845
|
+
|
4846
|
+
# camelize keys of incoming `where` opts
|
4847
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
4848
|
+
|
4849
|
+
# query parameters
|
4850
|
+
query_params = opts[:query_params] || {}
|
4851
|
+
|
4852
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
4853
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
4854
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
4855
|
+
|
4856
|
+
# header parameters
|
4857
|
+
header_params = opts[:header_params] || {}
|
4858
|
+
# HTTP header 'Accept' (if needed)
|
4859
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
4860
|
+
# HTTP header 'Content-Type'
|
4861
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
4862
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
4863
|
+
|
4864
|
+
# form parameters
|
4865
|
+
form_params = opts[:form_params] || {}
|
4866
|
+
|
4867
|
+
# http body (model)
|
4868
|
+
post_body = opts[:body] || @api_client.object_to_http_body(batch_payment_delete_by_url_param)
|
4869
|
+
|
4870
|
+
# return_type
|
4871
|
+
return_type = opts[:return_type] || 'BatchPayments'
|
4872
|
+
|
4873
|
+
# auth_names
|
4874
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
4875
|
+
|
4876
|
+
new_options = opts.merge(
|
4877
|
+
:header_params => header_params,
|
4878
|
+
:query_params => query_params,
|
4879
|
+
:form_params => form_params,
|
4880
|
+
:body => post_body,
|
4881
|
+
:auth_names => auth_names,
|
4882
|
+
:return_type => return_type
|
4883
|
+
)
|
4884
|
+
|
4885
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
|
4886
|
+
if @api_client.config.debugging
|
4887
|
+
@api_client.config.logger.debug "API called: AccountingApi#delete_batch_payment_by_url_param\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
4888
|
+
end
|
4889
|
+
return data, status_code, headers
|
4890
|
+
end
|
4891
|
+
|
4652
4892
|
# Deletes a specific contact from a contact group using a unique contact Id
|
4653
4893
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
4654
4894
|
# @param contact_group_id [String] Unique identifier for a Contact Group
|
@@ -17520,6 +17760,86 @@ module XeroRuby
|
|
17520
17760
|
return data, status_code, headers
|
17521
17761
|
end
|
17522
17762
|
|
17763
|
+
# Creates or deletes one or more repeating invoice templates
|
17764
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
17765
|
+
# @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
|
17766
|
+
# @param [Hash] opts the optional parameters
|
17767
|
+
# @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors (default to false)
|
17768
|
+
# @return [RepeatingInvoices]
|
17769
|
+
def update_or_create_repeating_invoices(xero_tenant_id, repeating_invoices, opts = {})
|
17770
|
+
data, _status_code, _headers = update_or_create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, opts)
|
17771
|
+
data
|
17772
|
+
end
|
17773
|
+
|
17774
|
+
# Creates or deletes one or more repeating invoice templates
|
17775
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
17776
|
+
# @param repeating_invoices [RepeatingInvoices] RepeatingInvoices with an array of repeating invoice objects in body of request
|
17777
|
+
# @param [Hash] opts the optional parameters
|
17778
|
+
# @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created objects and any with validation errors
|
17779
|
+
# @return [Array<(RepeatingInvoices, Integer, Hash)>] RepeatingInvoices data, response status code and response headers
|
17780
|
+
def update_or_create_repeating_invoices_with_http_info(xero_tenant_id, repeating_invoices, options = {})
|
17781
|
+
opts = options.dup
|
17782
|
+
if @api_client.config.debugging
|
17783
|
+
@api_client.config.logger.debug 'Calling API: AccountingApi.update_or_create_repeating_invoices ...'
|
17784
|
+
end
|
17785
|
+
# verify the required parameter 'xero_tenant_id' is set
|
17786
|
+
if @api_client.config.client_side_validation && xero_tenant_id.nil?
|
17787
|
+
fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.update_or_create_repeating_invoices"
|
17788
|
+
end
|
17789
|
+
# verify the required parameter 'repeating_invoices' is set
|
17790
|
+
if @api_client.config.client_side_validation && repeating_invoices.nil?
|
17791
|
+
fail ArgumentError, "Missing the required parameter 'repeating_invoices' when calling AccountingApi.update_or_create_repeating_invoices"
|
17792
|
+
end
|
17793
|
+
# resource path
|
17794
|
+
local_var_path = '/RepeatingInvoices'
|
17795
|
+
|
17796
|
+
# camelize keys of incoming `where` opts
|
17797
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
17798
|
+
|
17799
|
+
# query parameters
|
17800
|
+
query_params = opts[:query_params] || {}
|
17801
|
+
query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
|
17802
|
+
|
17803
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
17804
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
17805
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
17806
|
+
|
17807
|
+
# header parameters
|
17808
|
+
header_params = opts[:header_params] || {}
|
17809
|
+
# HTTP header 'Accept' (if needed)
|
17810
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
17811
|
+
# HTTP header 'Content-Type'
|
17812
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
17813
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
17814
|
+
|
17815
|
+
# form parameters
|
17816
|
+
form_params = opts[:form_params] || {}
|
17817
|
+
|
17818
|
+
# http body (model)
|
17819
|
+
post_body = opts[:body] || @api_client.object_to_http_body(repeating_invoices)
|
17820
|
+
|
17821
|
+
# return_type
|
17822
|
+
return_type = opts[:return_type] || 'RepeatingInvoices'
|
17823
|
+
|
17824
|
+
# auth_names
|
17825
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
17826
|
+
|
17827
|
+
new_options = opts.merge(
|
17828
|
+
:header_params => header_params,
|
17829
|
+
:query_params => query_params,
|
17830
|
+
:form_params => form_params,
|
17831
|
+
:body => post_body,
|
17832
|
+
:auth_names => auth_names,
|
17833
|
+
:return_type => return_type
|
17834
|
+
)
|
17835
|
+
|
17836
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
|
17837
|
+
if @api_client.config.debugging
|
17838
|
+
@api_client.config.logger.debug "API called: AccountingApi#update_or_create_repeating_invoices\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
17839
|
+
end
|
17840
|
+
return data, status_code, headers
|
17841
|
+
end
|
17842
|
+
|
17523
17843
|
# Updates a specific purchase order
|
17524
17844
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
17525
17845
|
# @param purchase_order_id [String] Unique identifier for an Purchase Order
|
@@ -18039,6 +18359,89 @@ module XeroRuby
|
|
18039
18359
|
return data, status_code, headers
|
18040
18360
|
end
|
18041
18361
|
|
18362
|
+
# Deletes a specific repeating invoice template
|
18363
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
18364
|
+
# @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
|
18365
|
+
# @param repeating_invoices [RepeatingInvoices]
|
18366
|
+
# @param [Hash] opts the optional parameters
|
18367
|
+
# @return [RepeatingInvoices]
|
18368
|
+
def update_repeating_invoice(xero_tenant_id, repeating_invoice_id, repeating_invoices, opts = {})
|
18369
|
+
data, _status_code, _headers = update_repeating_invoice_with_http_info(xero_tenant_id, repeating_invoice_id, repeating_invoices, opts)
|
18370
|
+
data
|
18371
|
+
end
|
18372
|
+
|
18373
|
+
# Deletes a specific repeating invoice template
|
18374
|
+
# @param xero_tenant_id [String] Xero identifier for Tenant
|
18375
|
+
# @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
|
18376
|
+
# @param repeating_invoices [RepeatingInvoices]
|
18377
|
+
# @param [Hash] opts the optional parameters
|
18378
|
+
# @return [Array<(RepeatingInvoices, Integer, Hash)>] RepeatingInvoices data, response status code and response headers
|
18379
|
+
def update_repeating_invoice_with_http_info(xero_tenant_id, repeating_invoice_id, repeating_invoices, options = {})
|
18380
|
+
opts = options.dup
|
18381
|
+
if @api_client.config.debugging
|
18382
|
+
@api_client.config.logger.debug 'Calling API: AccountingApi.update_repeating_invoice ...'
|
18383
|
+
end
|
18384
|
+
# verify the required parameter 'xero_tenant_id' is set
|
18385
|
+
if @api_client.config.client_side_validation && xero_tenant_id.nil?
|
18386
|
+
fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.update_repeating_invoice"
|
18387
|
+
end
|
18388
|
+
# verify the required parameter 'repeating_invoice_id' is set
|
18389
|
+
if @api_client.config.client_side_validation && repeating_invoice_id.nil?
|
18390
|
+
fail ArgumentError, "Missing the required parameter 'repeating_invoice_id' when calling AccountingApi.update_repeating_invoice"
|
18391
|
+
end
|
18392
|
+
# verify the required parameter 'repeating_invoices' is set
|
18393
|
+
if @api_client.config.client_side_validation && repeating_invoices.nil?
|
18394
|
+
fail ArgumentError, "Missing the required parameter 'repeating_invoices' when calling AccountingApi.update_repeating_invoice"
|
18395
|
+
end
|
18396
|
+
# resource path
|
18397
|
+
local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s)
|
18398
|
+
|
18399
|
+
# camelize keys of incoming `where` opts
|
18400
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
18401
|
+
|
18402
|
+
# query parameters
|
18403
|
+
query_params = opts[:query_params] || {}
|
18404
|
+
|
18405
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
18406
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
18407
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
18408
|
+
|
18409
|
+
# header parameters
|
18410
|
+
header_params = opts[:header_params] || {}
|
18411
|
+
# HTTP header 'Accept' (if needed)
|
18412
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
18413
|
+
# HTTP header 'Content-Type'
|
18414
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
18415
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
18416
|
+
|
18417
|
+
# form parameters
|
18418
|
+
form_params = opts[:form_params] || {}
|
18419
|
+
|
18420
|
+
# http body (model)
|
18421
|
+
post_body = opts[:body] || @api_client.object_to_http_body(repeating_invoices)
|
18422
|
+
|
18423
|
+
# return_type
|
18424
|
+
return_type = opts[:return_type] || 'RepeatingInvoices'
|
18425
|
+
|
18426
|
+
# auth_names
|
18427
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
18428
|
+
|
18429
|
+
new_options = opts.merge(
|
18430
|
+
:header_params => header_params,
|
18431
|
+
:query_params => query_params,
|
18432
|
+
:form_params => form_params,
|
18433
|
+
:body => post_body,
|
18434
|
+
:auth_names => auth_names,
|
18435
|
+
:return_type => return_type
|
18436
|
+
)
|
18437
|
+
|
18438
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
|
18439
|
+
if @api_client.config.debugging
|
18440
|
+
@api_client.config.logger.debug "API called: AccountingApi#update_repeating_invoice\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
18441
|
+
end
|
18442
|
+
return data, status_code, headers
|
18443
|
+
end
|
18444
|
+
|
18042
18445
|
# Updates a specific attachment from a specific repeating invoices by file name
|
18043
18446
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
18044
18447
|
# @param repeating_invoice_id [String] Unique identifier for a Repeating Invoice
|
@@ -0,0 +1,244 @@
|
|
1
|
+
=begin
|
2
|
+
#Xero Accounting API
|
3
|
+
|
4
|
+
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
5
|
+
|
6
|
+
Contact: api@xero.com
|
7
|
+
Generated by: https://openapi-generator.tech
|
8
|
+
OpenAPI Generator version: 4.3.1
|
9
|
+
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'time'
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module XeroRuby::Accounting
|
16
|
+
require 'bigdecimal'
|
17
|
+
|
18
|
+
class BatchPaymentDelete
|
19
|
+
# The Xero generated unique identifier for the bank transaction (read-only)
|
20
|
+
attr_accessor :batch_payment_id
|
21
|
+
|
22
|
+
# The status of the batch payment.
|
23
|
+
attr_accessor :status
|
24
|
+
|
25
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
26
|
+
def self.attribute_map
|
27
|
+
{
|
28
|
+
:'batch_payment_id' => :'BatchPaymentID',
|
29
|
+
:'status' => :'Status'
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
# Attribute type mapping.
|
34
|
+
def self.openapi_types
|
35
|
+
{
|
36
|
+
:'batch_payment_id' => :'String',
|
37
|
+
:'status' => :'String'
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
# Initializes the object
|
42
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
43
|
+
def initialize(attributes = {})
|
44
|
+
if (!attributes.is_a?(Hash))
|
45
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::BatchPaymentDelete` initialize method"
|
46
|
+
end
|
47
|
+
|
48
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
49
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
50
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
51
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::BatchPaymentDelete`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
52
|
+
end
|
53
|
+
h[k.to_sym] = v
|
54
|
+
}
|
55
|
+
|
56
|
+
if attributes.key?(:'batch_payment_id')
|
57
|
+
self.batch_payment_id = attributes[:'batch_payment_id']
|
58
|
+
end
|
59
|
+
|
60
|
+
if attributes.key?(:'status')
|
61
|
+
self.status = attributes[:'status']
|
62
|
+
else
|
63
|
+
self.status = 'DELETED'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
68
|
+
# @return Array for valid properties with the reasons
|
69
|
+
def list_invalid_properties
|
70
|
+
invalid_properties = Array.new
|
71
|
+
if @batch_payment_id.nil?
|
72
|
+
invalid_properties.push('invalid value for "batch_payment_id", batch_payment_id cannot be nil.')
|
73
|
+
end
|
74
|
+
|
75
|
+
if @status.nil?
|
76
|
+
invalid_properties.push('invalid value for "status", status cannot be nil.')
|
77
|
+
end
|
78
|
+
|
79
|
+
invalid_properties
|
80
|
+
end
|
81
|
+
|
82
|
+
# Check to see if the all the properties in the model are valid
|
83
|
+
# @return true if the model is valid
|
84
|
+
def valid?
|
85
|
+
return false if @batch_payment_id.nil?
|
86
|
+
return false if @status.nil?
|
87
|
+
true
|
88
|
+
end
|
89
|
+
|
90
|
+
# Checks equality by comparing each attribute.
|
91
|
+
# @param [Object] Object to be compared
|
92
|
+
def ==(o)
|
93
|
+
return true if self.equal?(o)
|
94
|
+
self.class == o.class &&
|
95
|
+
batch_payment_id == o.batch_payment_id &&
|
96
|
+
status == o.status
|
97
|
+
end
|
98
|
+
|
99
|
+
# @see the `==` method
|
100
|
+
# @param [Object] Object to be compared
|
101
|
+
def eql?(o)
|
102
|
+
self == o
|
103
|
+
end
|
104
|
+
|
105
|
+
# Calculates hash code according to all attributes.
|
106
|
+
# @return [Integer] Hash code
|
107
|
+
def hash
|
108
|
+
[batch_payment_id, status].hash
|
109
|
+
end
|
110
|
+
|
111
|
+
# Builds the object from hash
|
112
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
113
|
+
# @return [Object] Returns the model itself
|
114
|
+
def self.build_from_hash(attributes)
|
115
|
+
new.build_from_hash(attributes)
|
116
|
+
end
|
117
|
+
|
118
|
+
# Builds the object from hash
|
119
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
120
|
+
# @return [Object] Returns the model itself
|
121
|
+
def build_from_hash(attributes)
|
122
|
+
return nil unless attributes.is_a?(Hash)
|
123
|
+
self.class.openapi_types.each_pair do |key, type|
|
124
|
+
if type =~ /\AArray<(.*)>/i
|
125
|
+
# check to ensure the input is an array given that the attribute
|
126
|
+
# is documented as an array but the input is not
|
127
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
128
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
129
|
+
end
|
130
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
131
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
132
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
133
|
+
end
|
134
|
+
|
135
|
+
self
|
136
|
+
end
|
137
|
+
|
138
|
+
# Deserializes the data based on type
|
139
|
+
# @param string type Data type
|
140
|
+
# @param string value Value to be deserialized
|
141
|
+
# @return [Object] Deserialized data
|
142
|
+
def _deserialize(type, value)
|
143
|
+
case type.to_sym
|
144
|
+
when :DateTime
|
145
|
+
DateTime.parse(parse_date(value))
|
146
|
+
when :Date
|
147
|
+
Date.parse(parse_date(value))
|
148
|
+
when :String
|
149
|
+
value.to_s
|
150
|
+
when :Integer
|
151
|
+
value.to_i
|
152
|
+
when :Float
|
153
|
+
value.to_f
|
154
|
+
when :BigDecimal
|
155
|
+
BigDecimal(value.to_s)
|
156
|
+
when :Boolean
|
157
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
158
|
+
true
|
159
|
+
else
|
160
|
+
false
|
161
|
+
end
|
162
|
+
when :Object
|
163
|
+
# generic object (usually a Hash), return directly
|
164
|
+
value
|
165
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
166
|
+
inner_type = Regexp.last_match[:inner_type]
|
167
|
+
value.map { |v| _deserialize(inner_type, v) }
|
168
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
169
|
+
k_type = Regexp.last_match[:k_type]
|
170
|
+
v_type = Regexp.last_match[:v_type]
|
171
|
+
{}.tap do |hash|
|
172
|
+
value.each do |k, v|
|
173
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
174
|
+
end
|
175
|
+
end
|
176
|
+
else # model
|
177
|
+
XeroRuby::Accounting.const_get(type).build_from_hash(value)
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
# Returns the string representation of the object
|
182
|
+
# @return [String] String presentation of the object
|
183
|
+
def to_s
|
184
|
+
to_hash.to_s
|
185
|
+
end
|
186
|
+
|
187
|
+
# to_body is an alias to to_hash (backward compatibility)
|
188
|
+
# @return [Hash] Returns the object in the form of hash
|
189
|
+
def to_body
|
190
|
+
to_hash
|
191
|
+
end
|
192
|
+
|
193
|
+
# Returns the object in the form of hash
|
194
|
+
# @return [Hash] Returns the object in the form of hash
|
195
|
+
def to_hash(downcase: false)
|
196
|
+
hash = {}
|
197
|
+
self.class.attribute_map.each_pair do |attr, param|
|
198
|
+
value = self.send(attr)
|
199
|
+
next if value.nil?
|
200
|
+
key = downcase ? attr : param
|
201
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
202
|
+
end
|
203
|
+
hash
|
204
|
+
end
|
205
|
+
|
206
|
+
# Returns the object in the form of hash with snake_case
|
207
|
+
def to_attributes
|
208
|
+
to_hash(downcase: true)
|
209
|
+
end
|
210
|
+
|
211
|
+
# Outputs non-array value in the form of hash
|
212
|
+
# For object, use to_hash. Otherwise, just return the value
|
213
|
+
# @param [Object] value Any valid value
|
214
|
+
# @return [Hash] Returns the value in the form of hash
|
215
|
+
def _to_hash(value, downcase: false)
|
216
|
+
if value.is_a?(Array)
|
217
|
+
value.map do |v|
|
218
|
+
v.to_hash(downcase: downcase)
|
219
|
+
end
|
220
|
+
elsif value.is_a?(Hash)
|
221
|
+
{}.tap do |hash|
|
222
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
223
|
+
end
|
224
|
+
elsif value.respond_to? :to_hash
|
225
|
+
value.to_hash(downcase: downcase)
|
226
|
+
else
|
227
|
+
value
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
def parse_date(datestring)
|
232
|
+
if datestring.include?('Date')
|
233
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
234
|
+
original, date, timezone = *date_pattern.match(datestring)
|
235
|
+
date = (date.to_i / 1000)
|
236
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
237
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
238
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
239
|
+
else # handle date 'types' for small subset of payroll API's
|
240
|
+
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
244
|
+
end
|
@@ -0,0 +1,229 @@
|
|
1
|
+
=begin
|
2
|
+
#Xero Accounting API
|
3
|
+
|
4
|
+
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
5
|
+
|
6
|
+
Contact: api@xero.com
|
7
|
+
Generated by: https://openapi-generator.tech
|
8
|
+
OpenAPI Generator version: 4.3.1
|
9
|
+
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'time'
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module XeroRuby::Accounting
|
16
|
+
require 'bigdecimal'
|
17
|
+
|
18
|
+
class BatchPaymentDeleteByUrlParam
|
19
|
+
# The status of the batch payment.
|
20
|
+
attr_accessor :status
|
21
|
+
|
22
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
23
|
+
def self.attribute_map
|
24
|
+
{
|
25
|
+
:'status' => :'Status'
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
# Attribute type mapping.
|
30
|
+
def self.openapi_types
|
31
|
+
{
|
32
|
+
:'status' => :'String'
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
# Initializes the object
|
37
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
38
|
+
def initialize(attributes = {})
|
39
|
+
if (!attributes.is_a?(Hash))
|
40
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::BatchPaymentDeleteByUrlParam` initialize method"
|
41
|
+
end
|
42
|
+
|
43
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
44
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
45
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
46
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::BatchPaymentDeleteByUrlParam`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
47
|
+
end
|
48
|
+
h[k.to_sym] = v
|
49
|
+
}
|
50
|
+
|
51
|
+
if attributes.key?(:'status')
|
52
|
+
self.status = attributes[:'status']
|
53
|
+
else
|
54
|
+
self.status = 'DELETED'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
59
|
+
# @return Array for valid properties with the reasons
|
60
|
+
def list_invalid_properties
|
61
|
+
invalid_properties = Array.new
|
62
|
+
if @status.nil?
|
63
|
+
invalid_properties.push('invalid value for "status", status cannot be nil.')
|
64
|
+
end
|
65
|
+
|
66
|
+
invalid_properties
|
67
|
+
end
|
68
|
+
|
69
|
+
# Check to see if the all the properties in the model are valid
|
70
|
+
# @return true if the model is valid
|
71
|
+
def valid?
|
72
|
+
return false if @status.nil?
|
73
|
+
true
|
74
|
+
end
|
75
|
+
|
76
|
+
# Checks equality by comparing each attribute.
|
77
|
+
# @param [Object] Object to be compared
|
78
|
+
def ==(o)
|
79
|
+
return true if self.equal?(o)
|
80
|
+
self.class == o.class &&
|
81
|
+
status == o.status
|
82
|
+
end
|
83
|
+
|
84
|
+
# @see the `==` method
|
85
|
+
# @param [Object] Object to be compared
|
86
|
+
def eql?(o)
|
87
|
+
self == o
|
88
|
+
end
|
89
|
+
|
90
|
+
# Calculates hash code according to all attributes.
|
91
|
+
# @return [Integer] Hash code
|
92
|
+
def hash
|
93
|
+
[status].hash
|
94
|
+
end
|
95
|
+
|
96
|
+
# Builds the object from hash
|
97
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
98
|
+
# @return [Object] Returns the model itself
|
99
|
+
def self.build_from_hash(attributes)
|
100
|
+
new.build_from_hash(attributes)
|
101
|
+
end
|
102
|
+
|
103
|
+
# Builds the object from hash
|
104
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
105
|
+
# @return [Object] Returns the model itself
|
106
|
+
def build_from_hash(attributes)
|
107
|
+
return nil unless attributes.is_a?(Hash)
|
108
|
+
self.class.openapi_types.each_pair do |key, type|
|
109
|
+
if type =~ /\AArray<(.*)>/i
|
110
|
+
# check to ensure the input is an array given that the attribute
|
111
|
+
# is documented as an array but the input is not
|
112
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
113
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
114
|
+
end
|
115
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
116
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
117
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
118
|
+
end
|
119
|
+
|
120
|
+
self
|
121
|
+
end
|
122
|
+
|
123
|
+
# Deserializes the data based on type
|
124
|
+
# @param string type Data type
|
125
|
+
# @param string value Value to be deserialized
|
126
|
+
# @return [Object] Deserialized data
|
127
|
+
def _deserialize(type, value)
|
128
|
+
case type.to_sym
|
129
|
+
when :DateTime
|
130
|
+
DateTime.parse(parse_date(value))
|
131
|
+
when :Date
|
132
|
+
Date.parse(parse_date(value))
|
133
|
+
when :String
|
134
|
+
value.to_s
|
135
|
+
when :Integer
|
136
|
+
value.to_i
|
137
|
+
when :Float
|
138
|
+
value.to_f
|
139
|
+
when :BigDecimal
|
140
|
+
BigDecimal(value.to_s)
|
141
|
+
when :Boolean
|
142
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
143
|
+
true
|
144
|
+
else
|
145
|
+
false
|
146
|
+
end
|
147
|
+
when :Object
|
148
|
+
# generic object (usually a Hash), return directly
|
149
|
+
value
|
150
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
151
|
+
inner_type = Regexp.last_match[:inner_type]
|
152
|
+
value.map { |v| _deserialize(inner_type, v) }
|
153
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
154
|
+
k_type = Regexp.last_match[:k_type]
|
155
|
+
v_type = Regexp.last_match[:v_type]
|
156
|
+
{}.tap do |hash|
|
157
|
+
value.each do |k, v|
|
158
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
else # model
|
162
|
+
XeroRuby::Accounting.const_get(type).build_from_hash(value)
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
# Returns the string representation of the object
|
167
|
+
# @return [String] String presentation of the object
|
168
|
+
def to_s
|
169
|
+
to_hash.to_s
|
170
|
+
end
|
171
|
+
|
172
|
+
# to_body is an alias to to_hash (backward compatibility)
|
173
|
+
# @return [Hash] Returns the object in the form of hash
|
174
|
+
def to_body
|
175
|
+
to_hash
|
176
|
+
end
|
177
|
+
|
178
|
+
# Returns the object in the form of hash
|
179
|
+
# @return [Hash] Returns the object in the form of hash
|
180
|
+
def to_hash(downcase: false)
|
181
|
+
hash = {}
|
182
|
+
self.class.attribute_map.each_pair do |attr, param|
|
183
|
+
value = self.send(attr)
|
184
|
+
next if value.nil?
|
185
|
+
key = downcase ? attr : param
|
186
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
187
|
+
end
|
188
|
+
hash
|
189
|
+
end
|
190
|
+
|
191
|
+
# Returns the object in the form of hash with snake_case
|
192
|
+
def to_attributes
|
193
|
+
to_hash(downcase: true)
|
194
|
+
end
|
195
|
+
|
196
|
+
# Outputs non-array value in the form of hash
|
197
|
+
# For object, use to_hash. Otherwise, just return the value
|
198
|
+
# @param [Object] value Any valid value
|
199
|
+
# @return [Hash] Returns the value in the form of hash
|
200
|
+
def _to_hash(value, downcase: false)
|
201
|
+
if value.is_a?(Array)
|
202
|
+
value.map do |v|
|
203
|
+
v.to_hash(downcase: downcase)
|
204
|
+
end
|
205
|
+
elsif value.is_a?(Hash)
|
206
|
+
{}.tap do |hash|
|
207
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
208
|
+
end
|
209
|
+
elsif value.respond_to? :to_hash
|
210
|
+
value.to_hash(downcase: downcase)
|
211
|
+
else
|
212
|
+
value
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
def parse_date(datestring)
|
217
|
+
if datestring.include?('Date')
|
218
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
219
|
+
original, date, timezone = *date_pattern.match(datestring)
|
220
|
+
date = (date.to_i / 1000)
|
221
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
222
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
223
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
224
|
+
else # handle date 'types' for small subset of payroll API's
|
225
|
+
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
@@ -63,12 +63,24 @@ module XeroRuby::Accounting
|
|
63
63
|
# Xero generated unique identifier for repeating invoice template
|
64
64
|
attr_accessor :id
|
65
65
|
|
66
|
-
#
|
66
|
+
# Boolean to indicate if an invoice has an attachment
|
67
67
|
attr_accessor :has_attachments
|
68
68
|
|
69
69
|
# Displays array of attachments from the API
|
70
70
|
attr_accessor :attachments
|
71
71
|
|
72
|
+
# Boolean to indicate whether the invoice has been approved for sending
|
73
|
+
attr_accessor :approved_for_sending
|
74
|
+
|
75
|
+
# Boolean to indicate whether a copy is sent to sender's email
|
76
|
+
attr_accessor :send_copy
|
77
|
+
|
78
|
+
# Boolean to indicate whether the invoice in the Xero app displays as \"sent\"
|
79
|
+
attr_accessor :mark_as_sent
|
80
|
+
|
81
|
+
# Boolean to indicate whether to include PDF attachment
|
82
|
+
attr_accessor :include_pdf
|
83
|
+
|
72
84
|
class EnumAttributeValidator
|
73
85
|
attr_reader :datatype
|
74
86
|
attr_reader :allowable_values
|
@@ -109,7 +121,11 @@ module XeroRuby::Accounting
|
|
109
121
|
:'repeating_invoice_id' => :'RepeatingInvoiceID',
|
110
122
|
:'id' => :'ID',
|
111
123
|
:'has_attachments' => :'HasAttachments',
|
112
|
-
:'attachments' => :'Attachments'
|
124
|
+
:'attachments' => :'Attachments',
|
125
|
+
:'approved_for_sending' => :'ApprovedForSending',
|
126
|
+
:'send_copy' => :'SendCopy',
|
127
|
+
:'mark_as_sent' => :'MarkAsSent',
|
128
|
+
:'include_pdf' => :'IncludePDF'
|
113
129
|
}
|
114
130
|
end
|
115
131
|
|
@@ -131,7 +147,11 @@ module XeroRuby::Accounting
|
|
131
147
|
:'repeating_invoice_id' => :'String',
|
132
148
|
:'id' => :'String',
|
133
149
|
:'has_attachments' => :'Boolean',
|
134
|
-
:'attachments' => :'Array<Attachment>'
|
150
|
+
:'attachments' => :'Array<Attachment>',
|
151
|
+
:'approved_for_sending' => :'Boolean',
|
152
|
+
:'send_copy' => :'Boolean',
|
153
|
+
:'mark_as_sent' => :'Boolean',
|
154
|
+
:'include_pdf' => :'Boolean'
|
135
155
|
}
|
136
156
|
end
|
137
157
|
|
@@ -219,6 +239,30 @@ module XeroRuby::Accounting
|
|
219
239
|
self.attachments = value
|
220
240
|
end
|
221
241
|
end
|
242
|
+
|
243
|
+
if attributes.key?(:'approved_for_sending')
|
244
|
+
self.approved_for_sending = attributes[:'approved_for_sending']
|
245
|
+
else
|
246
|
+
self.approved_for_sending = false
|
247
|
+
end
|
248
|
+
|
249
|
+
if attributes.key?(:'send_copy')
|
250
|
+
self.send_copy = attributes[:'send_copy']
|
251
|
+
else
|
252
|
+
self.send_copy = false
|
253
|
+
end
|
254
|
+
|
255
|
+
if attributes.key?(:'mark_as_sent')
|
256
|
+
self.mark_as_sent = attributes[:'mark_as_sent']
|
257
|
+
else
|
258
|
+
self.mark_as_sent = false
|
259
|
+
end
|
260
|
+
|
261
|
+
if attributes.key?(:'include_pdf')
|
262
|
+
self.include_pdf = attributes[:'include_pdf']
|
263
|
+
else
|
264
|
+
self.include_pdf = false
|
265
|
+
end
|
222
266
|
end
|
223
267
|
|
224
268
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -278,7 +322,11 @@ module XeroRuby::Accounting
|
|
278
322
|
repeating_invoice_id == o.repeating_invoice_id &&
|
279
323
|
id == o.id &&
|
280
324
|
has_attachments == o.has_attachments &&
|
281
|
-
attachments == o.attachments
|
325
|
+
attachments == o.attachments &&
|
326
|
+
approved_for_sending == o.approved_for_sending &&
|
327
|
+
send_copy == o.send_copy &&
|
328
|
+
mark_as_sent == o.mark_as_sent &&
|
329
|
+
include_pdf == o.include_pdf
|
282
330
|
end
|
283
331
|
|
284
332
|
# @see the `==` method
|
@@ -290,7 +338,7 @@ module XeroRuby::Accounting
|
|
290
338
|
# Calculates hash code according to all attributes.
|
291
339
|
# @return [Integer] Hash code
|
292
340
|
def hash
|
293
|
-
[type, contact, schedule, line_items, line_amount_types, reference, branding_theme_id, currency_code, status, sub_total, total_tax, total, repeating_invoice_id, id, has_attachments, attachments].hash
|
341
|
+
[type, contact, schedule, line_items, line_amount_types, reference, branding_theme_id, currency_code, status, sub_total, total_tax, total, repeating_invoice_id, id, has_attachments, attachments, approved_for_sending, send_copy, mark_as_sent, include_pdf].hash
|
294
342
|
end
|
295
343
|
|
296
344
|
# Builds the object from hash
|
@@ -26,6 +26,8 @@ module XeroRuby::PayrollAu
|
|
26
26
|
LUMPSUME ||= "LUMPSUME".freeze
|
27
27
|
LUMPSUMW ||= "LUMPSUMW".freeze
|
28
28
|
DIRECTORSFEES ||= "DIRECTORSFEES".freeze
|
29
|
+
PAIDPARENTALLEAVE ||= "PAIDPARENTALLEAVE".freeze
|
30
|
+
WORKERSCOMPENSATION ||= "WORKERSCOMPENSATION".freeze
|
29
31
|
|
30
32
|
# Builds the enum from string
|
31
33
|
# @param [String] The enum value in the form of the string
|
@@ -61,6 +61,9 @@ module XeroRuby::PayrollAu
|
|
61
61
|
# If the employee is eligible for student startup loan rules
|
62
62
|
attr_accessor :has_student_startup_loan
|
63
63
|
|
64
|
+
# If the employee has any of the following loans or debts: Higher Education Loan Program (HELP/HECS), VET Student Loan (VSL), Financial Supplement (FS), Student Start-up Loan (SSL), or Trade Support Loan (TSL)
|
65
|
+
attr_accessor :has_loan_or_student_debt
|
66
|
+
|
64
67
|
# Last modified timestamp
|
65
68
|
attr_accessor :updated_date_utc
|
66
69
|
|
@@ -82,6 +85,7 @@ module XeroRuby::PayrollAu
|
|
82
85
|
:'eligible_to_receive_leave_loading' => :'EligibleToReceiveLeaveLoading',
|
83
86
|
:'approved_withholding_variation_percentage' => :'ApprovedWithholdingVariationPercentage',
|
84
87
|
:'has_student_startup_loan' => :'HasStudentStartupLoan',
|
88
|
+
:'has_loan_or_student_debt' => :'HasLoanOrStudentDebt',
|
85
89
|
:'updated_date_utc' => :'UpdatedDateUTC'
|
86
90
|
}
|
87
91
|
end
|
@@ -104,6 +108,7 @@ module XeroRuby::PayrollAu
|
|
104
108
|
:'eligible_to_receive_leave_loading' => :'Boolean',
|
105
109
|
:'approved_withholding_variation_percentage' => :'Float',
|
106
110
|
:'has_student_startup_loan' => :'Boolean',
|
111
|
+
:'has_loan_or_student_debt' => :'Boolean',
|
107
112
|
:'updated_date_utc' => :'DateTime'
|
108
113
|
}
|
109
114
|
end
|
@@ -183,6 +188,10 @@ module XeroRuby::PayrollAu
|
|
183
188
|
self.has_student_startup_loan = attributes[:'has_student_startup_loan']
|
184
189
|
end
|
185
190
|
|
191
|
+
if attributes.key?(:'has_loan_or_student_debt')
|
192
|
+
self.has_loan_or_student_debt = attributes[:'has_loan_or_student_debt']
|
193
|
+
end
|
194
|
+
|
186
195
|
if attributes.key?(:'updated_date_utc')
|
187
196
|
self.updated_date_utc = attributes[:'updated_date_utc']
|
188
197
|
end
|
@@ -221,6 +230,7 @@ module XeroRuby::PayrollAu
|
|
221
230
|
eligible_to_receive_leave_loading == o.eligible_to_receive_leave_loading &&
|
222
231
|
approved_withholding_variation_percentage == o.approved_withholding_variation_percentage &&
|
223
232
|
has_student_startup_loan == o.has_student_startup_loan &&
|
233
|
+
has_loan_or_student_debt == o.has_loan_or_student_debt &&
|
224
234
|
updated_date_utc == o.updated_date_utc
|
225
235
|
end
|
226
236
|
|
@@ -233,7 +243,7 @@ module XeroRuby::PayrollAu
|
|
233
243
|
# Calculates hash code according to all attributes.
|
234
244
|
# @return [Integer] Hash code
|
235
245
|
def hash
|
236
|
-
[employee_id, employment_basis, tfn_exemption_type, tax_file_number, australian_resident_for_tax_purposes, residency_status, tax_free_threshold_claimed, tax_offset_estimated_amount, has_help_debt, has_sfss_debt, has_trade_support_loan_debt, upward_variation_tax_withholding_amount, eligible_to_receive_leave_loading, approved_withholding_variation_percentage, has_student_startup_loan, updated_date_utc].hash
|
246
|
+
[employee_id, employment_basis, tfn_exemption_type, tax_file_number, australian_resident_for_tax_purposes, residency_status, tax_free_threshold_claimed, tax_offset_estimated_amount, has_help_debt, has_sfss_debt, has_trade_support_loan_debt, upward_variation_tax_withholding_amount, eligible_to_receive_leave_loading, approved_withholding_variation_percentage, has_student_startup_loan, has_loan_or_student_debt, updated_date_utc].hash
|
237
247
|
end
|
238
248
|
|
239
249
|
# Builds the object from hash
|
data/lib/xero-ruby/version.rb
CHANGED
@@ -7,9 +7,9 @@ Contact: api@xero.com
|
|
7
7
|
Generated by: https://openapi-generator.tech
|
8
8
|
OpenAPI Generator version: 4.3.1
|
9
9
|
|
10
|
-
The version of the XeroOpenAPI document: 2.
|
10
|
+
The version of the XeroOpenAPI document: 2.25.0
|
11
11
|
=end
|
12
12
|
|
13
13
|
module XeroRuby
|
14
|
-
VERSION = '3.
|
14
|
+
VERSION = '3.11.0'
|
15
15
|
end
|
data/lib/xero-ruby.rb
CHANGED
@@ -405,6 +405,8 @@ require 'xero-ruby/models/accounting/bank_transactions'
|
|
405
405
|
require 'xero-ruby/models/accounting/bank_transfer'
|
406
406
|
require 'xero-ruby/models/accounting/bank_transfers'
|
407
407
|
require 'xero-ruby/models/accounting/batch_payment'
|
408
|
+
require 'xero-ruby/models/accounting/batch_payment_delete'
|
409
|
+
require 'xero-ruby/models/accounting/batch_payment_delete_by_url_param'
|
408
410
|
require 'xero-ruby/models/accounting/batch_payment_details'
|
409
411
|
require 'xero-ruby/models/accounting/batch_payments'
|
410
412
|
require 'xero-ruby/models/accounting/bill'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xero-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xero API Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -131,6 +131,8 @@ files:
|
|
131
131
|
- lib/xero-ruby/models/accounting/bank_transfer.rb
|
132
132
|
- lib/xero-ruby/models/accounting/bank_transfers.rb
|
133
133
|
- lib/xero-ruby/models/accounting/batch_payment.rb
|
134
|
+
- lib/xero-ruby/models/accounting/batch_payment_delete.rb
|
135
|
+
- lib/xero-ruby/models/accounting/batch_payment_delete_by_url_param.rb
|
134
136
|
- lib/xero-ruby/models/accounting/batch_payment_details.rb
|
135
137
|
- lib/xero-ruby/models/accounting/batch_payments.rb
|
136
138
|
- lib/xero-ruby/models/accounting/bill.rb
|
@@ -1107,7 +1109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1107
1109
|
- !ruby/object:Gem::Version
|
1108
1110
|
version: '0'
|
1109
1111
|
requirements: []
|
1110
|
-
rubygems_version: 3.
|
1112
|
+
rubygems_version: 3.2.3
|
1111
1113
|
signing_key:
|
1112
1114
|
specification_version: 4
|
1113
1115
|
summary: Xero Accounting API Ruby Gem
|