xero-ruby 3.9.0 → 7.0.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/README.md +2 -2
- data/lib/xero-ruby/api/accounting_api.rb +1136 -46
- data/lib/xero-ruby/api/app_store_api.rb +244 -0
- data/lib/xero-ruby/api/asset_api.rb +16 -6
- data/lib/xero-ruby/api/files_api.rb +156 -20
- data/lib/xero-ruby/api/payroll_au_api.rb +326 -30
- data/lib/xero-ruby/api/payroll_nz_api.rb +87 -0
- data/lib/xero-ruby/api/payroll_uk_api.rb +81 -0
- data/lib/xero-ruby/api/project_api.rb +286 -2
- data/lib/xero-ruby/api_client.rb +9 -3
- data/lib/xero-ruby/models/accounting/account.rb +1 -1
- data/lib/xero-ruby/models/accounting/account_type.rb +0 -4
- data/lib/xero-ruby/models/accounting/allocation.rb +21 -1
- data/lib/xero-ruby/models/accounting/batch_payment.rb +2 -2
- 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/contact.rb +1 -11
- data/lib/xero-ruby/models/accounting/currency_code.rb +10 -8
- data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
- data/lib/xero-ruby/models/accounting/line_item.rb +2 -2
- data/lib/xero-ruby/models/accounting/organisation.rb +6 -2
- data/lib/xero-ruby/models/accounting/payment.rb +26 -4
- data/lib/xero-ruby/models/accounting/repeating_invoice.rb +53 -5
- data/lib/xero-ruby/models/accounting/tax_rate.rb +23 -5
- data/lib/xero-ruby/models/accounting/tax_type.rb +60 -3
- data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +75 -4
- data/lib/xero-ruby/models/accounting/time_zone.rb +123 -91
- data/lib/xero-ruby/models/app_store/create_usage_record.rb +243 -0
- data/lib/xero-ruby/models/app_store/update_usage_record.rb +228 -0
- data/lib/xero-ruby/models/app_store/usage_record.rb +332 -0
- data/lib/xero-ruby/models/app_store/usage_records_list.rb +230 -0
- data/lib/xero-ruby/models/files/association.rb +31 -1
- data/lib/xero-ruby/models/finance/problem_type.rb +1 -0
- data/lib/xero-ruby/models/finance/statement_line_response.rb +11 -1
- data/lib/xero-ruby/models/finance/statement_response.rb +24 -4
- data/lib/xero-ruby/models/payroll_au/allowance_type.rb +0 -1
- data/lib/xero-ruby/models/payroll_au/country_of_residence.rb +284 -0
- data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +21 -1
- data/lib/xero-ruby/models/payroll_au/earnings_type.rb +2 -0
- data/lib/xero-ruby/models/payroll_au/employee.rb +42 -2
- data/lib/xero-ruby/models/payroll_au/employment_basis.rb +1 -0
- data/lib/xero-ruby/models/payroll_au/employment_type.rb +36 -0
- data/lib/xero-ruby/models/payroll_au/income_type.rb +39 -0
- data/lib/xero-ruby/models/payroll_au/leave_application.rb +11 -1
- data/lib/xero-ruby/models/payroll_au/leave_category_code.rb +46 -0
- data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +14 -4
- data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +0 -1
- data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +2 -0
- data/lib/xero-ruby/models/payroll_au/leave_type.rb +24 -4
- data/lib/xero-ruby/models/payroll_au/opening_balances.rb +16 -4
- data/lib/xero-ruby/models/payroll_au/paid_leave_earnings_line.rb +272 -0
- data/lib/xero-ruby/models/payroll_au/pay_out_type.rb +36 -0
- data/lib/xero-ruby/models/payroll_au/senior_marital_status.rb +37 -0
- data/lib/xero-ruby/models/payroll_au/settings.rb +14 -4
- data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +51 -1
- data/lib/xero-ruby/models/payroll_au/tax_scale_type.rb +40 -0
- data/lib/xero-ruby/models/payroll_au/work_condition.rb +37 -0
- data/lib/xero-ruby/models/payroll_nz/employee.rb +14 -4
- data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +3 -3
- data/lib/xero-ruby/models/projects/currency_code.rb +0 -1
- data/lib/xero-ruby/models/projects/task.rb +6 -6
- data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
- data/lib/xero-ruby/version.rb +2 -2
- data/lib/xero-ruby/where.rb +2 -0
- data/lib/xero-ruby.rb +15 -0
- metadata +30 -15
@@ -83,5 +83,249 @@ module XeroRuby
|
|
83
83
|
end
|
84
84
|
return data, status_code, headers
|
85
85
|
end
|
86
|
+
|
87
|
+
# Gets all usage records related to the subscription
|
88
|
+
# @param subscription_id [String] Unique identifier for Subscription object
|
89
|
+
# @param [Hash] opts the optional parameters
|
90
|
+
# @return [UsageRecordsList]
|
91
|
+
def get_usage_records(subscription_id, opts = {})
|
92
|
+
data, _status_code, _headers = get_usage_records_with_http_info(subscription_id, opts)
|
93
|
+
data
|
94
|
+
end
|
95
|
+
|
96
|
+
# Gets all usage records related to the subscription
|
97
|
+
# @param subscription_id [String] Unique identifier for Subscription object
|
98
|
+
# @param [Hash] opts the optional parameters
|
99
|
+
# @return [Array<(UsageRecordsList, Integer, Hash)>] UsageRecordsList data, response status code and response headers
|
100
|
+
def get_usage_records_with_http_info(subscription_id, options = {})
|
101
|
+
opts = options.dup
|
102
|
+
if @api_client.config.debugging
|
103
|
+
@api_client.config.logger.debug 'Calling API: AppStoreApi.get_usage_records ...'
|
104
|
+
end
|
105
|
+
# verify the required parameter 'subscription_id' is set
|
106
|
+
if @api_client.config.client_side_validation && subscription_id.nil?
|
107
|
+
fail ArgumentError, "Missing the required parameter 'subscription_id' when calling AppStoreApi.get_usage_records"
|
108
|
+
end
|
109
|
+
# resource path
|
110
|
+
local_var_path = '/subscriptions/{subscriptionId}/usage-records'.sub('{' + 'subscriptionId' + '}', subscription_id.to_s)
|
111
|
+
|
112
|
+
# camelize keys of incoming `where` opts
|
113
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
114
|
+
|
115
|
+
# query parameters
|
116
|
+
query_params = opts[:query_params] || {}
|
117
|
+
|
118
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
119
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
120
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
121
|
+
|
122
|
+
# header parameters
|
123
|
+
header_params = opts[:header_params] || {}
|
124
|
+
# HTTP header 'Accept' (if needed)
|
125
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
126
|
+
|
127
|
+
# form parameters
|
128
|
+
form_params = opts[:form_params] || {}
|
129
|
+
|
130
|
+
# http body (model)
|
131
|
+
post_body = opts[:body]
|
132
|
+
|
133
|
+
# return_type
|
134
|
+
return_type = opts[:return_type] || 'UsageRecordsList'
|
135
|
+
|
136
|
+
# auth_names
|
137
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
138
|
+
|
139
|
+
new_options = opts.merge(
|
140
|
+
:header_params => header_params,
|
141
|
+
:query_params => query_params,
|
142
|
+
:form_params => form_params,
|
143
|
+
:body => post_body,
|
144
|
+
:auth_names => auth_names,
|
145
|
+
:return_type => return_type
|
146
|
+
)
|
147
|
+
|
148
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, "AppStoreApi", new_options)
|
149
|
+
if @api_client.config.debugging
|
150
|
+
@api_client.config.logger.debug "API called: AppStoreApi#get_usage_records\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
151
|
+
end
|
152
|
+
return data, status_code, headers
|
153
|
+
end
|
154
|
+
|
155
|
+
# Send metered usage belonging to this subscription and subscription item
|
156
|
+
# @param subscription_id [String] Unique identifier for Subscription object
|
157
|
+
# @param subscription_item_id [String] The unique identifier of the subscriptionItem
|
158
|
+
# @param create_usage_record [CreateUsageRecord] Contains the quantity for the usage record to create
|
159
|
+
# @param [Hash] opts the optional parameters
|
160
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
161
|
+
# @return [UsageRecord]
|
162
|
+
def post_usage_records(subscription_id, subscription_item_id, create_usage_record, opts = {})
|
163
|
+
data, _status_code, _headers = post_usage_records_with_http_info(subscription_id, subscription_item_id, create_usage_record, opts)
|
164
|
+
data
|
165
|
+
end
|
166
|
+
|
167
|
+
# Send metered usage belonging to this subscription and subscription item
|
168
|
+
# @param subscription_id [String] Unique identifier for Subscription object
|
169
|
+
# @param subscription_item_id [String] The unique identifier of the subscriptionItem
|
170
|
+
# @param create_usage_record [CreateUsageRecord] Contains the quantity for the usage record to create
|
171
|
+
# @param [Hash] opts the optional parameters
|
172
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
173
|
+
# @return [Array<(UsageRecord, Integer, Hash)>] UsageRecord data, response status code and response headers
|
174
|
+
def post_usage_records_with_http_info(subscription_id, subscription_item_id, create_usage_record, options = {})
|
175
|
+
opts = options.dup
|
176
|
+
if @api_client.config.debugging
|
177
|
+
@api_client.config.logger.debug 'Calling API: AppStoreApi.post_usage_records ...'
|
178
|
+
end
|
179
|
+
# verify the required parameter 'subscription_id' is set
|
180
|
+
if @api_client.config.client_side_validation && subscription_id.nil?
|
181
|
+
fail ArgumentError, "Missing the required parameter 'subscription_id' when calling AppStoreApi.post_usage_records"
|
182
|
+
end
|
183
|
+
# verify the required parameter 'subscription_item_id' is set
|
184
|
+
if @api_client.config.client_side_validation && subscription_item_id.nil?
|
185
|
+
fail ArgumentError, "Missing the required parameter 'subscription_item_id' when calling AppStoreApi.post_usage_records"
|
186
|
+
end
|
187
|
+
# verify the required parameter 'create_usage_record' is set
|
188
|
+
if @api_client.config.client_side_validation && create_usage_record.nil?
|
189
|
+
fail ArgumentError, "Missing the required parameter 'create_usage_record' when calling AppStoreApi.post_usage_records"
|
190
|
+
end
|
191
|
+
# resource path
|
192
|
+
local_var_path = '/subscriptions/{subscriptionId}/items/{subscriptionItemId}/usage-records'.sub('{' + 'subscriptionId' + '}', subscription_id.to_s).sub('{' + 'subscriptionItemId' + '}', subscription_item_id.to_s)
|
193
|
+
|
194
|
+
# camelize keys of incoming `where` opts
|
195
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
196
|
+
|
197
|
+
# query parameters
|
198
|
+
query_params = opts[:query_params] || {}
|
199
|
+
|
200
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
201
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
202
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
203
|
+
|
204
|
+
# header parameters
|
205
|
+
header_params = opts[:header_params] || {}
|
206
|
+
# HTTP header 'Accept' (if needed)
|
207
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
208
|
+
# HTTP header 'Content-Type'
|
209
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
210
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
211
|
+
|
212
|
+
# form parameters
|
213
|
+
form_params = opts[:form_params] || {}
|
214
|
+
|
215
|
+
# http body (model)
|
216
|
+
post_body = opts[:body] || @api_client.object_to_http_body(create_usage_record)
|
217
|
+
|
218
|
+
# return_type
|
219
|
+
return_type = opts[:return_type] || 'UsageRecord'
|
220
|
+
|
221
|
+
# auth_names
|
222
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
223
|
+
|
224
|
+
new_options = opts.merge(
|
225
|
+
:header_params => header_params,
|
226
|
+
:query_params => query_params,
|
227
|
+
:form_params => form_params,
|
228
|
+
:body => post_body,
|
229
|
+
:auth_names => auth_names,
|
230
|
+
:return_type => return_type
|
231
|
+
)
|
232
|
+
|
233
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AppStoreApi", new_options)
|
234
|
+
if @api_client.config.debugging
|
235
|
+
@api_client.config.logger.debug "API called: AppStoreApi#post_usage_records\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
236
|
+
end
|
237
|
+
return data, status_code, headers
|
238
|
+
end
|
239
|
+
|
240
|
+
# Update and existing metered usage belonging to this subscription and subscription item
|
241
|
+
# @param subscription_id [String] Unique identifier for Subscription object
|
242
|
+
# @param subscription_item_id [String] The unique identifier of the subscriptionItem
|
243
|
+
# @param usage_record_id [String] The unique identifier of the usage record
|
244
|
+
# @param update_usage_record [UpdateUsageRecord] Contains the quantity for the usage record to update
|
245
|
+
# @param [Hash] opts the optional parameters
|
246
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
247
|
+
# @return [UsageRecord]
|
248
|
+
def put_usage_records(subscription_id, subscription_item_id, usage_record_id, update_usage_record, opts = {})
|
249
|
+
data, _status_code, _headers = put_usage_records_with_http_info(subscription_id, subscription_item_id, usage_record_id, update_usage_record, opts)
|
250
|
+
data
|
251
|
+
end
|
252
|
+
|
253
|
+
# Update and existing metered usage belonging to this subscription and subscription item
|
254
|
+
# @param subscription_id [String] Unique identifier for Subscription object
|
255
|
+
# @param subscription_item_id [String] The unique identifier of the subscriptionItem
|
256
|
+
# @param usage_record_id [String] The unique identifier of the usage record
|
257
|
+
# @param update_usage_record [UpdateUsageRecord] Contains the quantity for the usage record to update
|
258
|
+
# @param [Hash] opts the optional parameters
|
259
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
260
|
+
# @return [Array<(UsageRecord, Integer, Hash)>] UsageRecord data, response status code and response headers
|
261
|
+
def put_usage_records_with_http_info(subscription_id, subscription_item_id, usage_record_id, update_usage_record, options = {})
|
262
|
+
opts = options.dup
|
263
|
+
if @api_client.config.debugging
|
264
|
+
@api_client.config.logger.debug 'Calling API: AppStoreApi.put_usage_records ...'
|
265
|
+
end
|
266
|
+
# verify the required parameter 'subscription_id' is set
|
267
|
+
if @api_client.config.client_side_validation && subscription_id.nil?
|
268
|
+
fail ArgumentError, "Missing the required parameter 'subscription_id' when calling AppStoreApi.put_usage_records"
|
269
|
+
end
|
270
|
+
# verify the required parameter 'subscription_item_id' is set
|
271
|
+
if @api_client.config.client_side_validation && subscription_item_id.nil?
|
272
|
+
fail ArgumentError, "Missing the required parameter 'subscription_item_id' when calling AppStoreApi.put_usage_records"
|
273
|
+
end
|
274
|
+
# verify the required parameter 'usage_record_id' is set
|
275
|
+
if @api_client.config.client_side_validation && usage_record_id.nil?
|
276
|
+
fail ArgumentError, "Missing the required parameter 'usage_record_id' when calling AppStoreApi.put_usage_records"
|
277
|
+
end
|
278
|
+
# verify the required parameter 'update_usage_record' is set
|
279
|
+
if @api_client.config.client_side_validation && update_usage_record.nil?
|
280
|
+
fail ArgumentError, "Missing the required parameter 'update_usage_record' when calling AppStoreApi.put_usage_records"
|
281
|
+
end
|
282
|
+
# resource path
|
283
|
+
local_var_path = '/subscriptions/{subscriptionId}/items/{subscriptionItemId}/usage-records/{usageRecordId}'.sub('{' + 'subscriptionId' + '}', subscription_id.to_s).sub('{' + 'subscriptionItemId' + '}', subscription_item_id.to_s).sub('{' + 'usageRecordId' + '}', usage_record_id.to_s)
|
284
|
+
|
285
|
+
# camelize keys of incoming `where` opts
|
286
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
287
|
+
|
288
|
+
# query parameters
|
289
|
+
query_params = opts[:query_params] || {}
|
290
|
+
|
291
|
+
# XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
|
292
|
+
query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
|
293
|
+
query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
|
294
|
+
|
295
|
+
# header parameters
|
296
|
+
header_params = opts[:header_params] || {}
|
297
|
+
# HTTP header 'Accept' (if needed)
|
298
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
299
|
+
# HTTP header 'Content-Type'
|
300
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
301
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
302
|
+
|
303
|
+
# form parameters
|
304
|
+
form_params = opts[:form_params] || {}
|
305
|
+
|
306
|
+
# http body (model)
|
307
|
+
post_body = opts[:body] || @api_client.object_to_http_body(update_usage_record)
|
308
|
+
|
309
|
+
# return_type
|
310
|
+
return_type = opts[:return_type] || 'UsageRecord'
|
311
|
+
|
312
|
+
# auth_names
|
313
|
+
auth_names = opts[:auth_names] || ['OAuth2']
|
314
|
+
|
315
|
+
new_options = opts.merge(
|
316
|
+
:header_params => header_params,
|
317
|
+
:query_params => query_params,
|
318
|
+
:form_params => form_params,
|
319
|
+
:body => post_body,
|
320
|
+
:auth_names => auth_names,
|
321
|
+
:return_type => return_type
|
322
|
+
)
|
323
|
+
|
324
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "AppStoreApi", new_options)
|
325
|
+
if @api_client.config.debugging
|
326
|
+
@api_client.config.logger.debug "API called: AppStoreApi#put_usage_records\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
327
|
+
end
|
328
|
+
return data, status_code, headers
|
329
|
+
end
|
86
330
|
end
|
87
331
|
end
|
@@ -21,6 +21,7 @@ module XeroRuby
|
|
21
21
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
22
22
|
# @param asset [Asset] Fixed asset you are creating
|
23
23
|
# @param [Hash] opts the optional parameters
|
24
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
24
25
|
# @return [Asset]
|
25
26
|
def create_asset(xero_tenant_id, asset, opts = {})
|
26
27
|
data, _status_code, _headers = create_asset_with_http_info(xero_tenant_id, asset, opts)
|
@@ -32,6 +33,7 @@ module XeroRuby
|
|
32
33
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
33
34
|
# @param asset [Asset] Fixed asset you are creating
|
34
35
|
# @param [Hash] opts the optional parameters
|
36
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
35
37
|
# @return [Array<(Asset, Integer, Hash)>] Asset data, response status code and response headers
|
36
38
|
def create_asset_with_http_info(xero_tenant_id, asset, options = {})
|
37
39
|
opts = options.dup
|
@@ -66,6 +68,7 @@ module XeroRuby
|
|
66
68
|
# HTTP header 'Content-Type'
|
67
69
|
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
68
70
|
header_params[:'xero-tenant-id'] = xero_tenant_id
|
71
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
69
72
|
|
70
73
|
# form parameters
|
71
74
|
form_params = opts[:form_params] || {}
|
@@ -98,21 +101,23 @@ module XeroRuby
|
|
98
101
|
# adds a fixed asset type
|
99
102
|
# Adds an fixed asset type to the system
|
100
103
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
104
|
+
# @param asset_type [AssetType] Asset type to add
|
101
105
|
# @param [Hash] opts the optional parameters
|
102
|
-
# @option opts [
|
106
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
103
107
|
# @return [AssetType]
|
104
|
-
def create_asset_type(xero_tenant_id, opts = {})
|
105
|
-
data, _status_code, _headers = create_asset_type_with_http_info(xero_tenant_id, opts)
|
108
|
+
def create_asset_type(xero_tenant_id, asset_type, opts = {})
|
109
|
+
data, _status_code, _headers = create_asset_type_with_http_info(xero_tenant_id, asset_type, opts)
|
106
110
|
data
|
107
111
|
end
|
108
112
|
|
109
113
|
# adds a fixed asset type
|
110
114
|
# Adds an fixed asset type to the system
|
111
115
|
# @param xero_tenant_id [String] Xero identifier for Tenant
|
116
|
+
# @param asset_type [AssetType] Asset type to add
|
112
117
|
# @param [Hash] opts the optional parameters
|
113
|
-
# @option opts [
|
118
|
+
# @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
|
114
119
|
# @return [Array<(AssetType, Integer, Hash)>] AssetType data, response status code and response headers
|
115
|
-
def create_asset_type_with_http_info(xero_tenant_id, options = {})
|
120
|
+
def create_asset_type_with_http_info(xero_tenant_id, asset_type, options = {})
|
116
121
|
opts = options.dup
|
117
122
|
if @api_client.config.debugging
|
118
123
|
@api_client.config.logger.debug 'Calling API: AssetApi.create_asset_type ...'
|
@@ -121,6 +126,10 @@ module XeroRuby
|
|
121
126
|
if @api_client.config.client_side_validation && xero_tenant_id.nil?
|
122
127
|
fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AssetApi.create_asset_type"
|
123
128
|
end
|
129
|
+
# verify the required parameter 'asset_type' is set
|
130
|
+
if @api_client.config.client_side_validation && asset_type.nil?
|
131
|
+
fail ArgumentError, "Missing the required parameter 'asset_type' when calling AssetApi.create_asset_type"
|
132
|
+
end
|
124
133
|
# resource path
|
125
134
|
local_var_path = '/AssetTypes'
|
126
135
|
|
@@ -141,12 +150,13 @@ module XeroRuby
|
|
141
150
|
# HTTP header 'Content-Type'
|
142
151
|
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
143
152
|
header_params[:'xero-tenant-id'] = xero_tenant_id
|
153
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
144
154
|
|
145
155
|
# form parameters
|
146
156
|
form_params = opts[:form_params] || {}
|
147
157
|
|
148
158
|
# http body (model)
|
149
|
-
post_body = opts[:body] || @api_client.object_to_http_body(
|
159
|
+
post_body = opts[:body] || @api_client.object_to_http_body(asset_type)
|
150
160
|
|
151
161
|
# return_type
|
152
162
|
return_type = opts[:return_type] || 'AssetType'
|