xero-ruby 4.3.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,6 +20,7 @@ module XeroRuby
20
20
  # @param xero_tenant_id [String] Xero identifier for Tenant
21
21
  # @param project_create_or_update [ProjectCreateOrUpdate] Create a new project with ProjectCreateOrUpdate object
22
22
  # @param [Hash] opts the optional parameters
23
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
23
24
  # @return [Project]
24
25
  def create_project(xero_tenant_id, project_create_or_update, opts = {})
25
26
  data, _status_code, _headers = create_project_with_http_info(xero_tenant_id, project_create_or_update, opts)
@@ -30,6 +31,7 @@ module XeroRuby
30
31
  # @param xero_tenant_id [String] Xero identifier for Tenant
31
32
  # @param project_create_or_update [ProjectCreateOrUpdate] Create a new project with ProjectCreateOrUpdate object
32
33
  # @param [Hash] opts the optional parameters
34
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
33
35
  # @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers
34
36
  def create_project_with_http_info(xero_tenant_id, project_create_or_update, options = {})
35
37
  opts = options.dup
@@ -64,6 +66,7 @@ module XeroRuby
64
66
  # HTTP header 'Content-Type'
65
67
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
66
68
  header_params[:'Xero-Tenant-Id'] = xero_tenant_id
69
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
67
70
 
68
71
  # form parameters
69
72
  form_params = opts[:form_params] || {}
@@ -99,6 +102,7 @@ module XeroRuby
99
102
  # @param project_id [String] You can create a task on a specified projectId
100
103
  # @param task_create_or_update [TaskCreateOrUpdate] The task object you are creating
101
104
  # @param [Hash] opts the optional parameters
105
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
102
106
  # @return [Task]
103
107
  def create_task(xero_tenant_id, project_id, task_create_or_update, opts = {})
104
108
  data, _status_code, _headers = create_task_with_http_info(xero_tenant_id, project_id, task_create_or_update, opts)
@@ -111,6 +115,7 @@ module XeroRuby
111
115
  # @param project_id [String] You can create a task on a specified projectId
112
116
  # @param task_create_or_update [TaskCreateOrUpdate] The task object you are creating
113
117
  # @param [Hash] opts the optional parameters
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<(Task, Integer, Hash)>] Task data, response status code and response headers
115
120
  def create_task_with_http_info(xero_tenant_id, project_id, task_create_or_update, options = {})
116
121
  opts = options.dup
@@ -149,6 +154,7 @@ module XeroRuby
149
154
  # HTTP header 'Content-Type'
150
155
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
151
156
  header_params[:'Xero-Tenant-Id'] = xero_tenant_id
157
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
152
158
 
153
159
  # form parameters
154
160
  form_params = opts[:form_params] || {}
@@ -184,6 +190,7 @@ module XeroRuby
184
190
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
185
191
  # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are creating
186
192
  # @param [Hash] opts the optional parameters
193
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
187
194
  # @return [TimeEntry]
188
195
  def create_time_entry(xero_tenant_id, project_id, time_entry_create_or_update, opts = {})
189
196
  data, _status_code, _headers = create_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_create_or_update, opts)
@@ -196,6 +203,7 @@ module XeroRuby
196
203
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
197
204
  # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are creating
198
205
  # @param [Hash] opts the optional parameters
206
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
199
207
  # @return [Array<(TimeEntry, Integer, Hash)>] TimeEntry data, response status code and response headers
200
208
  def create_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_create_or_update, options = {})
201
209
  opts = options.dup
@@ -234,6 +242,7 @@ module XeroRuby
234
242
  # HTTP header 'Content-Type'
235
243
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
236
244
  header_params[:'Xero-Tenant-Id'] = xero_tenant_id
245
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
237
246
 
238
247
  # form parameters
239
248
  form_params = opts[:form_params] || {}
@@ -1053,6 +1062,7 @@ module XeroRuby
1053
1062
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1054
1063
  # @param project_patch [ProjectPatch] Update the status of an existing Project
1055
1064
  # @param [Hash] opts the optional parameters
1065
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1056
1066
  # @return [nil]
1057
1067
  def patch_project(xero_tenant_id, project_id, project_patch, opts = {})
1058
1068
  patch_project_with_http_info(xero_tenant_id, project_id, project_patch, opts)
@@ -1065,6 +1075,7 @@ module XeroRuby
1065
1075
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1066
1076
  # @param project_patch [ProjectPatch] Update the status of an existing Project
1067
1077
  # @param [Hash] opts the optional parameters
1078
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1068
1079
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1069
1080
  def patch_project_with_http_info(xero_tenant_id, project_id, project_patch, options = {})
1070
1081
  opts = options.dup
@@ -1103,6 +1114,7 @@ module XeroRuby
1103
1114
  # HTTP header 'Content-Type'
1104
1115
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1105
1116
  header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1117
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1106
1118
 
1107
1119
  # form parameters
1108
1120
  form_params = opts[:form_params] || {}
@@ -1138,6 +1150,7 @@ module XeroRuby
1138
1150
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1139
1151
  # @param project_create_or_update [ProjectCreateOrUpdate] Request of type ProjectCreateOrUpdate
1140
1152
  # @param [Hash] opts the optional parameters
1153
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1141
1154
  # @return [nil]
1142
1155
  def update_project(xero_tenant_id, project_id, project_create_or_update, opts = {})
1143
1156
  update_project_with_http_info(xero_tenant_id, project_id, project_create_or_update, opts)
@@ -1150,6 +1163,7 @@ module XeroRuby
1150
1163
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1151
1164
  # @param project_create_or_update [ProjectCreateOrUpdate] Request of type ProjectCreateOrUpdate
1152
1165
  # @param [Hash] opts the optional parameters
1166
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1153
1167
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1154
1168
  def update_project_with_http_info(xero_tenant_id, project_id, project_create_or_update, options = {})
1155
1169
  opts = options.dup
@@ -1188,6 +1202,7 @@ module XeroRuby
1188
1202
  # HTTP header 'Content-Type'
1189
1203
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1190
1204
  header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1205
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1191
1206
 
1192
1207
  # form parameters
1193
1208
  form_params = opts[:form_params] || {}
@@ -1224,6 +1239,7 @@ module XeroRuby
1224
1239
  # @param task_id [String] You can specify an individual task by appending the id to the endpoint
1225
1240
  # @param task_create_or_update [TaskCreateOrUpdate] The task object you are updating
1226
1241
  # @param [Hash] opts the optional parameters
1242
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1227
1243
  # @return [nil]
1228
1244
  def update_task(xero_tenant_id, project_id, task_id, task_create_or_update, opts = {})
1229
1245
  update_task_with_http_info(xero_tenant_id, project_id, task_id, task_create_or_update, opts)
@@ -1237,6 +1253,7 @@ module XeroRuby
1237
1253
  # @param task_id [String] You can specify an individual task by appending the id to the endpoint
1238
1254
  # @param task_create_or_update [TaskCreateOrUpdate] The task object you are updating
1239
1255
  # @param [Hash] opts the optional parameters
1256
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1240
1257
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1241
1258
  def update_task_with_http_info(xero_tenant_id, project_id, task_id, task_create_or_update, options = {})
1242
1259
  opts = options.dup
@@ -1279,6 +1296,7 @@ module XeroRuby
1279
1296
  # HTTP header 'Content-Type'
1280
1297
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1281
1298
  header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1299
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1282
1300
 
1283
1301
  # form parameters
1284
1302
  form_params = opts[:form_params] || {}
@@ -1315,6 +1333,7 @@ module XeroRuby
1315
1333
  # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
1316
1334
  # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are updating
1317
1335
  # @param [Hash] opts the optional parameters
1336
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1318
1337
  # @return [nil]
1319
1338
  def update_time_entry(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, opts = {})
1320
1339
  update_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, opts)
@@ -1328,6 +1347,7 @@ module XeroRuby
1328
1347
  # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
1329
1348
  # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are updating
1330
1349
  # @param [Hash] opts the optional parameters
1350
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1331
1351
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1332
1352
  def update_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, options = {})
1333
1353
  opts = options.dup
@@ -1370,6 +1390,7 @@ module XeroRuby
1370
1390
  # HTTP header 'Content-Type'
1371
1391
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1372
1392
  header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1393
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1373
1394
 
1374
1395
  # form parameters
1375
1396
  form_params = opts[:form_params] || {}
@@ -31,11 +31,7 @@ module XeroRuby::Accounting
31
31
  REVENUE ||= "REVENUE".freeze
32
32
  SALES ||= "SALES".freeze
33
33
  TERMLIAB ||= "TERMLIAB".freeze
34
- PAYGLIABILITY ||= "PAYGLIABILITY".freeze
35
34
  PAYG ||= "PAYG".freeze
36
- SUPERANNUATIONEXPENSE ||= "SUPERANNUATIONEXPENSE".freeze
37
- SUPERANNUATIONLIABILITY ||= "SUPERANNUATIONLIABILITY".freeze
38
- WAGESEXPENSE ||= "WAGESEXPENSE".freeze
39
35
 
40
36
  # Builds the enum from string
41
37
  # @param [String] The enum value in the form of the string
@@ -16,6 +16,9 @@ module XeroRuby::Accounting
16
16
  require 'bigdecimal'
17
17
 
18
18
  class Allocation
19
+ # Xero generated unique identifier
20
+ attr_accessor :allocation_id
21
+
19
22
 
20
23
  attr_accessor :invoice
21
24
 
@@ -34,6 +37,9 @@ module XeroRuby::Accounting
34
37
  # the date the allocation is applied YYYY-MM-DD.
35
38
  attr_accessor :date
36
39
 
40
+ # A flag that returns true when the allocation is succesfully deleted
41
+ attr_accessor :is_deleted
42
+
37
43
  # A string to indicate if a invoice status
38
44
  attr_accessor :status_attribute_string
39
45
 
@@ -43,12 +49,14 @@ module XeroRuby::Accounting
43
49
  # Attribute mapping from ruby-style variable name to JSON key.
44
50
  def self.attribute_map
45
51
  {
52
+ :'allocation_id' => :'AllocationID',
46
53
  :'invoice' => :'Invoice',
47
54
  :'overpayment' => :'Overpayment',
48
55
  :'prepayment' => :'Prepayment',
49
56
  :'credit_note' => :'CreditNote',
50
57
  :'amount' => :'Amount',
51
58
  :'date' => :'Date',
59
+ :'is_deleted' => :'IsDeleted',
52
60
  :'status_attribute_string' => :'StatusAttributeString',
53
61
  :'validation_errors' => :'ValidationErrors'
54
62
  }
@@ -57,12 +65,14 @@ module XeroRuby::Accounting
57
65
  # Attribute type mapping.
58
66
  def self.openapi_types
59
67
  {
68
+ :'allocation_id' => :'String',
60
69
  :'invoice' => :'Invoice',
61
70
  :'overpayment' => :'Overpayment',
62
71
  :'prepayment' => :'Prepayment',
63
72
  :'credit_note' => :'CreditNote',
64
73
  :'amount' => :'BigDecimal',
65
74
  :'date' => :'Date',
75
+ :'is_deleted' => :'Boolean',
66
76
  :'status_attribute_string' => :'String',
67
77
  :'validation_errors' => :'Array<ValidationError>'
68
78
  }
@@ -83,6 +93,10 @@ module XeroRuby::Accounting
83
93
  h[k.to_sym] = v
84
94
  }
85
95
 
96
+ if attributes.key?(:'allocation_id')
97
+ self.allocation_id = attributes[:'allocation_id']
98
+ end
99
+
86
100
  if attributes.key?(:'invoice')
87
101
  self.invoice = attributes[:'invoice']
88
102
  end
@@ -107,6 +121,10 @@ module XeroRuby::Accounting
107
121
  self.date = attributes[:'date']
108
122
  end
109
123
 
124
+ if attributes.key?(:'is_deleted')
125
+ self.is_deleted = attributes[:'is_deleted']
126
+ end
127
+
110
128
  if attributes.key?(:'status_attribute_string')
111
129
  self.status_attribute_string = attributes[:'status_attribute_string']
112
130
  end
@@ -151,12 +169,14 @@ module XeroRuby::Accounting
151
169
  def ==(o)
152
170
  return true if self.equal?(o)
153
171
  self.class == o.class &&
172
+ allocation_id == o.allocation_id &&
154
173
  invoice == o.invoice &&
155
174
  overpayment == o.overpayment &&
156
175
  prepayment == o.prepayment &&
157
176
  credit_note == o.credit_note &&
158
177
  amount == o.amount &&
159
178
  date == o.date &&
179
+ is_deleted == o.is_deleted &&
160
180
  status_attribute_string == o.status_attribute_string &&
161
181
  validation_errors == o.validation_errors
162
182
  end
@@ -170,7 +190,7 @@ module XeroRuby::Accounting
170
190
  # Calculates hash code according to all attributes.
171
191
  # @return [Integer] Hash code
172
192
  def hash
173
- [invoice, overpayment, prepayment, credit_note, amount, date, status_attribute_string, validation_errors].hash
193
+ [allocation_id, invoice, overpayment, prepayment, credit_note, amount, date, is_deleted, status_attribute_string, validation_errors].hash
174
194
  end
175
195
 
176
196
  # Builds the object from hash
@@ -49,9 +49,6 @@ module XeroRuby::Accounting
49
49
  # Email address of contact person (umlauts not supported) (max length = 255)
50
50
  attr_accessor :email_address
51
51
 
52
- # Skype user name of contact
53
- attr_accessor :skype_user_name
54
-
55
52
  # See contact persons
56
53
  attr_accessor :contact_persons
57
54
 
@@ -189,7 +186,6 @@ module XeroRuby::Accounting
189
186
  :'last_name' => :'LastName',
190
187
  :'company_number' => :'CompanyNumber',
191
188
  :'email_address' => :'EmailAddress',
192
- :'skype_user_name' => :'SkypeUserName',
193
189
  :'contact_persons' => :'ContactPersons',
194
190
  :'bank_account_details' => :'BankAccountDetails',
195
191
  :'tax_number' => :'TaxNumber',
@@ -238,7 +234,6 @@ module XeroRuby::Accounting
238
234
  :'last_name' => :'String',
239
235
  :'company_number' => :'String',
240
236
  :'email_address' => :'String',
241
- :'skype_user_name' => :'String',
242
237
  :'contact_persons' => :'Array<ContactPerson>',
243
238
  :'bank_account_details' => :'String',
244
239
  :'tax_number' => :'String',
@@ -329,10 +324,6 @@ module XeroRuby::Accounting
329
324
  self.email_address = attributes[:'email_address']
330
325
  end
331
326
 
332
- if attributes.key?(:'skype_user_name')
333
- self.skype_user_name = attributes[:'skype_user_name']
334
- end
335
-
336
327
  if attributes.key?(:'contact_persons')
337
328
  if (value = attributes[:'contact_persons']).is_a?(Array)
338
329
  self.contact_persons = value
@@ -666,7 +657,6 @@ module XeroRuby::Accounting
666
657
  last_name == o.last_name &&
667
658
  company_number == o.company_number &&
668
659
  email_address == o.email_address &&
669
- skype_user_name == o.skype_user_name &&
670
660
  contact_persons == o.contact_persons &&
671
661
  bank_account_details == o.bank_account_details &&
672
662
  tax_number == o.tax_number &&
@@ -710,7 +700,7 @@ module XeroRuby::Accounting
710
700
  # Calculates hash code according to all attributes.
711
701
  # @return [Integer] Hash code
712
702
  def hash
713
- [contact_id, merged_to_contact_id, contact_number, account_number, contact_status, name, first_name, last_name, company_number, email_address, skype_user_name, contact_persons, bank_account_details, tax_number, accounts_receivable_tax_type, accounts_payable_tax_type, addresses, phones, is_supplier, is_customer, sales_default_line_amount_type, purchases_default_line_amount_type, default_currency, xero_network_key, sales_default_account_code, purchases_default_account_code, sales_tracking_categories, purchases_tracking_categories, tracking_category_name, tracking_category_option, payment_terms, updated_date_utc, contact_groups, website, branding_theme, batch_payments, discount, balances, attachments, has_attachments, validation_errors, has_validation_errors, status_attribute_string].hash
703
+ [contact_id, merged_to_contact_id, contact_number, account_number, contact_status, name, first_name, last_name, company_number, email_address, contact_persons, bank_account_details, tax_number, accounts_receivable_tax_type, accounts_payable_tax_type, addresses, phones, is_supplier, is_customer, sales_default_line_amount_type, purchases_default_line_amount_type, default_currency, xero_network_key, sales_default_account_code, purchases_default_account_code, sales_tracking_categories, purchases_tracking_categories, tracking_category_name, tracking_category_option, payment_terms, updated_date_utc, contact_groups, website, branding_theme, batch_payments, discount, balances, attachments, has_attachments, validation_errors, has_validation_errors, status_attribute_string].hash
714
704
  end
715
705
 
716
706
  # Builds the object from hash
@@ -182,7 +182,6 @@ module XeroRuby::Accounting
182
182
  ZMW ||= "ZMW".freeze
183
183
  ZMK ||= "ZMK".freeze
184
184
  ZWD ||= "ZWD".freeze
185
- EMPTY_CURRENCY ||= "".freeze
186
185
 
187
186
  # Builds the enum from string
188
187
  # @param [String] The enum value in the form of the string
@@ -131,6 +131,7 @@ module XeroRuby::Accounting
131
131
  IMN33 ||= "IMN33".freeze
132
132
  IMRE ||= "IMRE".freeze
133
133
  BADDEBTRECOVERY ||= "BADDEBTRECOVERY".freeze
134
+ USSALESTAX ||= "USSALESTAX".freeze
134
135
 
135
136
  # Boolean to describe if tax rate can be used for asset accounts i.e. true,false
136
137
  attr_accessor :can_apply_to_assets
@@ -289,7 +290,7 @@ module XeroRuby::Accounting
289
290
  def valid?
290
291
  status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "DELETED", "ARCHIVED", "PENDING"])
291
292
  return false unless status_validator.valid?(@status)
292
- report_tax_type_validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33", "TXRCRE", "TXRCESS", "TXRCTS", "CAPEXINPUT", "UNDEFINED", "CAPEXOUTPUT", "ZEROEXPOUTPUT", "GOODSIMPORT", "NONEINPUT", "NOTREPORTED", "SROVRRS", "SROVRLVG", "SRLVG", "IM", "IMESS", "IMN33", "IMRE", "BADDEBTRECOVERY"])
293
+ report_tax_type_validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33", "TXRCRE", "TXRCESS", "TXRCTS", "CAPEXINPUT", "UNDEFINED", "CAPEXOUTPUT", "ZEROEXPOUTPUT", "GOODSIMPORT", "NONEINPUT", "NOTREPORTED", "SROVRRS", "SROVRLVG", "SRLVG", "IM", "IMESS", "IMN33", "IMRE", "BADDEBTRECOVERY", "USSALESTAX"])
293
294
  return false unless report_tax_type_validator.valid?(@report_tax_type)
294
295
  true
295
296
  end
@@ -307,7 +308,7 @@ module XeroRuby::Accounting
307
308
  # Custom attribute writer method checking allowed values (enum).
308
309
  # @param [Object] report_tax_type Object to be assigned
309
310
  def report_tax_type=(report_tax_type)
310
- validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33", "TXRCRE", "TXRCESS", "TXRCTS", "CAPEXINPUT", "UNDEFINED", "CAPEXOUTPUT", "ZEROEXPOUTPUT", "GOODSIMPORT", "NONEINPUT", "NOTREPORTED", "SROVRRS", "SROVRLVG", "SRLVG", "IM", "IMESS", "IMN33", "IMRE", "BADDEBTRECOVERY"])
311
+ validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33", "TXRCRE", "TXRCESS", "TXRCTS", "CAPEXINPUT", "UNDEFINED", "CAPEXOUTPUT", "ZEROEXPOUTPUT", "GOODSIMPORT", "NONEINPUT", "NOTREPORTED", "SROVRRS", "SROVRLVG", "SRLVG", "IM", "IMESS", "IMN33", "IMRE", "BADDEBTRECOVERY", "USSALESTAX"])
311
312
  unless validator.valid?(report_tax_type)
312
313
  fail ArgumentError, "invalid value for \"report_tax_type\", must be one of #{validator.allowable_values}."
313
314
  end
@@ -110,6 +110,30 @@ module XeroRuby::Accounting
110
110
  IMREY23 ||= "IMREY23".freeze
111
111
  BADDEBTRECOVERY ||= "BADDEBTRECOVERY".freeze
112
112
  BADDEBTRECOVERYY23 ||= "BADDEBTRECOVERYY23".freeze
113
+ OUTPUTY24 ||= "OUTPUTY24".freeze
114
+ DSOUTPUTY24 ||= "DSOUTPUTY24".freeze
115
+ INPUTY24 ||= "INPUTY24".freeze
116
+ IGDSINPUT2_Y24 ||= "IGDSINPUT2Y24".freeze
117
+ TXPETINPUTY24 ||= "TXPETINPUTY24".freeze
118
+ TXESSINPUTY24 ||= "TXESSINPUTY24".freeze
119
+ TXN33_INPUTY24 ||= "TXN33INPUTY24".freeze
120
+ TXREINPUTY24 ||= "TXREINPUTY24".freeze
121
+ TXCAY24 ||= "TXCAY24".freeze
122
+ BADDEBTRELIEFY24 ||= "BADDEBTRELIEFY24".freeze
123
+ IGDSINPUT3_Y24 ||= "IGDSINPUT3Y24".freeze
124
+ SROVRRSY24 ||= "SROVRRSY24".freeze
125
+ SROVRLVGY24 ||= "SROVRLVGY24".freeze
126
+ SRLVGY24 ||= "SRLVGY24".freeze
127
+ TXRCTSY24 ||= "TXRCTSY24".freeze
128
+ TXRCESSY24 ||= "TXRCESSY24".freeze
129
+ TXRCN33_Y24 ||= "TXRCN33Y24".freeze
130
+ TXRCREY24 ||= "TXRCREY24".freeze
131
+ IMY24 ||= "IMY24".freeze
132
+ IMESSY24 ||= "IMESSY24".freeze
133
+ IMN33_Y24 ||= "IMN33Y24".freeze
134
+ IMREY24 ||= "IMREY24".freeze
135
+ BADDEBTRECOVERYY24 ||= "BADDEBTRECOVERYY24".freeze
136
+ OSOUTPUT2 ||= "OSOUTPUT2".freeze
113
137
 
114
138
  # Builds the enum from string
115
139
  # @param [String] The enum value in the form of the string
@@ -82,6 +82,44 @@ module XeroRuby::Accounting
82
82
  # Contact contact id
83
83
  attr_accessor :contact_id
84
84
 
85
+ # Contact legal name
86
+ attr_accessor :legal_name
87
+
88
+ # Contact business name
89
+ attr_accessor :business_name
90
+
91
+ # Contact federal tax classification
92
+ attr_accessor :federal_tax_classification
93
+ SOLE_PROPRIETOR ||= "SOLE_PROPRIETOR".freeze
94
+ PARTNERSHIP ||= "PARTNERSHIP".freeze
95
+ TRUST_OR_ESTATE ||= "TRUST_OR_ESTATE".freeze
96
+ NONPROFIT ||= "NONPROFIT".freeze
97
+ C_CORP ||= "C_CORP".freeze
98
+ S_CORP ||= "S_CORP".freeze
99
+ OTHER ||= "OTHER".freeze
100
+
101
+ class EnumAttributeValidator
102
+ attr_reader :datatype
103
+ attr_reader :allowable_values
104
+
105
+ def initialize(datatype, allowable_values)
106
+ @allowable_values = allowable_values.map do |value|
107
+ case datatype.to_s
108
+ when /Integer/i
109
+ value.to_i
110
+ when /Float/i
111
+ value.to_f
112
+ else
113
+ value
114
+ end
115
+ end
116
+ end
117
+
118
+ def valid?(value)
119
+ !value || allowable_values.include?(value)
120
+ end
121
+ end
122
+
85
123
  # Attribute mapping from ruby-style variable name to JSON key.
86
124
  def self.attribute_map
87
125
  {
@@ -106,7 +144,10 @@ module XeroRuby::Accounting
106
144
  :'email' => :'Email',
107
145
  :'street_address' => :'StreetAddress',
108
146
  :'tax_id' => :'TaxID',
109
- :'contact_id' => :'ContactId'
147
+ :'contact_id' => :'ContactId',
148
+ :'legal_name' => :'LegalName',
149
+ :'business_name' => :'BusinessName',
150
+ :'federal_tax_classification' => :'FederalTaxClassification'
110
151
  }
111
152
  end
112
153
 
@@ -134,7 +175,10 @@ module XeroRuby::Accounting
134
175
  :'email' => :'String',
135
176
  :'street_address' => :'String',
136
177
  :'tax_id' => :'String',
137
- :'contact_id' => :'String'
178
+ :'contact_id' => :'String',
179
+ :'legal_name' => :'String',
180
+ :'business_name' => :'String',
181
+ :'federal_tax_classification' => :'String'
138
182
  }
139
183
  end
140
184
 
@@ -240,6 +284,18 @@ module XeroRuby::Accounting
240
284
  if attributes.key?(:'contact_id')
241
285
  self.contact_id = attributes[:'contact_id']
242
286
  end
287
+
288
+ if attributes.key?(:'legal_name')
289
+ self.legal_name = attributes[:'legal_name']
290
+ end
291
+
292
+ if attributes.key?(:'business_name')
293
+ self.business_name = attributes[:'business_name']
294
+ end
295
+
296
+ if attributes.key?(:'federal_tax_classification')
297
+ self.federal_tax_classification = attributes[:'federal_tax_classification']
298
+ end
243
299
  end
244
300
 
245
301
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -252,9 +308,21 @@ module XeroRuby::Accounting
252
308
  # Check to see if the all the properties in the model are valid
253
309
  # @return true if the model is valid
254
310
  def valid?
311
+ federal_tax_classification_validator = EnumAttributeValidator.new('String', ["SOLE_PROPRIETOR", "PARTNERSHIP", "TRUST_OR_ESTATE", "NONPROFIT", "C_CORP", "S_CORP", "OTHER"])
312
+ return false unless federal_tax_classification_validator.valid?(@federal_tax_classification)
255
313
  true
256
314
  end
257
315
 
316
+ # Custom attribute writer method checking allowed values (enum).
317
+ # @param [Object] federal_tax_classification Object to be assigned
318
+ def federal_tax_classification=(federal_tax_classification)
319
+ validator = EnumAttributeValidator.new('String', ["SOLE_PROPRIETOR", "PARTNERSHIP", "TRUST_OR_ESTATE", "NONPROFIT", "C_CORP", "S_CORP", "OTHER"])
320
+ unless validator.valid?(federal_tax_classification)
321
+ fail ArgumentError, "invalid value for \"federal_tax_classification\", must be one of #{validator.allowable_values}."
322
+ end
323
+ @federal_tax_classification = federal_tax_classification
324
+ end
325
+
258
326
  # Checks equality by comparing each attribute.
259
327
  # @param [Object] Object to be compared
260
328
  def ==(o)
@@ -281,7 +349,10 @@ module XeroRuby::Accounting
281
349
  email == o.email &&
282
350
  street_address == o.street_address &&
283
351
  tax_id == o.tax_id &&
284
- contact_id == o.contact_id
352
+ contact_id == o.contact_id &&
353
+ legal_name == o.legal_name &&
354
+ business_name == o.business_name &&
355
+ federal_tax_classification == o.federal_tax_classification
285
356
  end
286
357
 
287
358
  # @see the `==` method
@@ -293,7 +364,7 @@ module XeroRuby::Accounting
293
364
  # Calculates hash code according to all attributes.
294
365
  # @return [Integer] Hash code
295
366
  def hash
296
- [box1, box2, box3, box4, box5, box6, box7, box8, box9, box10, box11, box13, box14, name, federal_tax_id_type, city, zip, state, email, street_address, tax_id, contact_id].hash
367
+ [box1, box2, box3, box4, box5, box6, box7, box8, box9, box10, box11, box13, box14, name, federal_tax_id_type, city, zip, state, email, street_address, tax_id, contact_id, legal_name, business_name, federal_tax_classification].hash
297
368
  end
298
369
 
299
370
  # Builds the object from hash
@@ -24,6 +24,7 @@ module XeroRuby::Finance
24
24
  REQUEST_TIMEOUT ||= "request-timeout".freeze
25
25
  SERVICE_UNAVAILABLE ||= "service-unavailable".freeze
26
26
  UNAUTHORIZED ||= "unauthorized".freeze
27
+ RATE_LIMIT_ERROR ||= "rate-limit-error".freeze
27
28
 
28
29
  # Builds the enum from string
29
30
  # @param [String] The enum value in the form of the string
@@ -264,7 +264,6 @@ module XeroRuby::PayrollAu
264
264
  CW ||= "CW".freeze
265
265
  SX ||= "SX".freeze
266
266
  SS ||= "SS".freeze
267
- EMPTY ||= "".freeze
268
267
 
269
268
  # Builds the enum from string
270
269
  # @param [String] The enum value in the form of the string
@@ -18,7 +18,6 @@ module XeroRuby::PayrollAu
18
18
  FIXEDAMOUNTEACHPERIOD ||= "FIXEDAMOUNTEACHPERIOD".freeze
19
19
  ENTERRATEINPAYTEMPLATE ||= "ENTERRATEINPAYTEMPLATE".freeze
20
20
  BASEDONORDINARYEARNINGS ||= "BASEDONORDINARYEARNINGS".freeze
21
- EMPTY ||= "".freeze
22
21
 
23
22
  # Builds the enum from string
24
23
  # @param [String] The enum value in the form of the string
@@ -16,6 +16,8 @@ module XeroRuby::PayrollAu
16
16
  class LeavePeriodStatus
17
17
  SCHEDULED ||= "SCHEDULED".freeze
18
18
  PROCESSED ||= "PROCESSED".freeze
19
+ REQUESTED ||= "REQUESTED".freeze
20
+ REJECTED ||= "REJECTED".freeze
19
21
 
20
22
  # Builds the enum from string
21
23
  # @param [String] The enum value in the form of the string
@@ -60,6 +60,9 @@ module XeroRuby::PayrollNz
60
60
  # UTC timestamp when the employee was created in Xero
61
61
  attr_accessor :created_date_utc
62
62
 
63
+ # Employee's job title
64
+ attr_accessor :job_title
65
+
63
66
  class EnumAttributeValidator
64
67
  attr_reader :datatype
65
68
  attr_reader :allowable_values
@@ -98,7 +101,8 @@ module XeroRuby::PayrollNz
98
101
  :'end_date' => :'endDate',
99
102
  :'payroll_calendar_id' => :'payrollCalendarID',
100
103
  :'updated_date_utc' => :'updatedDateUTC',
101
- :'created_date_utc' => :'createdDateUTC'
104
+ :'created_date_utc' => :'createdDateUTC',
105
+ :'job_title' => :'jobTitle'
102
106
  }
103
107
  end
104
108
 
@@ -118,7 +122,8 @@ module XeroRuby::PayrollNz
118
122
  :'end_date' => :'Date',
119
123
  :'payroll_calendar_id' => :'String',
120
124
  :'updated_date_utc' => :'DateTime',
121
- :'created_date_utc' => :'DateTime'
125
+ :'created_date_utc' => :'DateTime',
126
+ :'job_title' => :'String'
122
127
  }
123
128
  end
124
129
 
@@ -192,6 +197,10 @@ module XeroRuby::PayrollNz
192
197
  if attributes.key?(:'created_date_utc')
193
198
  self.created_date_utc = attributes[:'created_date_utc']
194
199
  end
200
+
201
+ if attributes.key?(:'job_title')
202
+ self.job_title = attributes[:'job_title']
203
+ end
195
204
  end
196
205
 
197
206
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -237,7 +246,8 @@ module XeroRuby::PayrollNz
237
246
  end_date == o.end_date &&
238
247
  payroll_calendar_id == o.payroll_calendar_id &&
239
248
  updated_date_utc == o.updated_date_utc &&
240
- created_date_utc == o.created_date_utc
249
+ created_date_utc == o.created_date_utc &&
250
+ job_title == o.job_title
241
251
  end
242
252
 
243
253
  # @see the `==` method
@@ -249,7 +259,7 @@ module XeroRuby::PayrollNz
249
259
  # Calculates hash code according to all attributes.
250
260
  # @return [Integer] Hash code
251
261
  def hash
252
- [employee_id, title, first_name, last_name, date_of_birth, address, email, gender, phone_number, start_date, end_date, payroll_calendar_id, updated_date_utc, created_date_utc].hash
262
+ [employee_id, title, first_name, last_name, date_of_birth, address, email, gender, phone_number, start_date, end_date, payroll_calendar_id, updated_date_utc, created_date_utc, job_title].hash
253
263
  end
254
264
 
255
265
  # Builds the object from hash
@@ -177,7 +177,6 @@ module XeroRuby::Projects
177
177
  ZMW ||= "ZMW".freeze
178
178
  ZMK ||= "ZMK".freeze
179
179
  ZWD ||= "ZWD".freeze
180
- EMPTY ||= "".freeze
181
180
 
182
181
  # Builds the enum from string
183
182
  # @param [String] The enum value in the form of the string
@@ -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.38.0
10
+ The version of the XeroOpenAPI document: 3.0.0
11
11
  =end
12
12
 
13
13
  module XeroRuby
14
- VERSION = '4.3.0'
14
+ VERSION = '5.0.0'
15
15
  end