peoplegroup-connectors 0.1.66 → 0.1.67

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c00abbd23af58a2c893beaf5e8d286fb5b2470e2e85254b799fc48473a870485
4
- data.tar.gz: 1c7d4fcd5fab3cf7f75f538fe3cd66bfd03beb80feff8b8de2ead575c113b98b
3
+ metadata.gz: a9274ee0cfd7218f984208e6746b404f523930606e0131b692fe3693b494fa52
4
+ data.tar.gz: 3c644450db792109565b5e73eb19984e478751c0a74049a6a312325c0601040e
5
5
  SHA512:
6
- metadata.gz: bdcab02d7cf9b679eb72d4f2181f93a12d886cd7d2fdff3b7467197252a735acecc543a95f4daf08e498e612e92e9ad755a5dadc7f8811adb1b9425959d7df0b
7
- data.tar.gz: c5ebda254577c8d529143624ced39408374964d8d49c2543f7ffdaeb3c15142902db72154d7762eed9063b90948255759e19bd10ea47aad82b886ab6de975ad7
6
+ metadata.gz: cd92ff904af3f63e73032cb723d5506f168bd5937e66bd7ebc0ebaa2da1cd9549a073278992aaeb4efbdf914c9b7a7826d55bdcc47752635c06a5a549680bdf1
7
+ data.tar.gz: ccce705cf39d04d1d210cd8942a018c7c398f021fdd348a570201b5b9690faab507538d2e2bcbc7142ac6df486a80b3525c1de0c8fcae968e8cf1b65ac750ce0
@@ -27,7 +27,9 @@ module PeopleGroup
27
27
  end
28
28
 
29
29
  def get_employee(id)
30
- @client.employee.find(id, %w[firstName lastName jobTitle supervisor hireDate country location department division workEmail customCostCenter])
30
+ retry_on_error do
31
+ @client.employee.find(id, %w[firstName lastName jobTitle supervisor hireDate country location department division workEmail customCostCenter])
32
+ end
31
33
  end
32
34
 
33
35
  def get_employee!(id)
@@ -172,11 +174,11 @@ module PeopleGroup
172
174
  end
173
175
 
174
176
  def create_employee(employee_details_hash)
175
- @client.employee.add(employee_details_hash)
177
+ retry_on_error { @client.employee.add(employee_details_hash) }
176
178
  end
177
179
 
178
180
  def update_employee(employee_id, employee_details_hash)
179
- @client.employee.update(employee_id, employee_details_hash)
181
+ retry_on_error { @client.employee.update(employee_id, employee_details_hash) }
180
182
  end
181
183
 
182
184
  def departments
@@ -194,13 +196,14 @@ module PeopleGroup
194
196
  def fields
195
197
  return @fields if @fields
196
198
 
197
- @fields = (Bamboozled::API::FieldCollection.all_names + @client.meta.fields.map { |f| f['alias'] }).compact.uniq
199
+ meta_field_aliases = retry_on_error { @client.meta.fields }.map { |f| f['alias'] }
200
+ @fields = (Bamboozled::API::FieldCollection.all_names + meta_field_aliases).compact.uniq
198
201
  @fields.delete('flsaCode') # temp fix for problems with BambooHR
199
202
  @fields
200
203
  end
201
204
 
202
205
  def employees
203
- Utils.retry_on_error(errors: [Net::ReadTimeout, Bamboozled::GatewayError]) do
206
+ retry_on_error do
204
207
  if @use_report
205
208
  @employees ||= @client.report.find(@use_report, 'JSON', true).reject { |employee| employee['lastName'] == 'Test-Gitlab' }
206
209
  else
@@ -223,33 +226,33 @@ module PeopleGroup
223
226
  alias_method :active_and_current_team_members, :active_and_current_employees
224
227
 
225
228
  def add_stock_options(employee_id, data)
226
- @client.employee.add_table_row(employee_id, 'customEquity', data)
229
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customEquity', data) }
227
230
  end
228
231
 
229
232
  def stock_options_data(employee_id)
230
- @client.employee.table_data(employee_id, 'customEquity')
233
+ retry_on_error { @client.employee.table_data(employee_id, 'customEquity') }
231
234
  end
232
235
 
233
236
  def add_job_details(employee_id, data)
234
- @client.employee.add_table_row(employee_id, 'jobInfo', data)
237
+ retry_on_error { @client.employee.add_table_row(employee_id, 'jobInfo', data) }
235
238
  end
236
239
 
237
240
  def update_job_details(employee_id, data)
238
241
  current_data = job_details(employee_id) # it should only be one row as we just created this user
239
242
  row_id = current_data.first.dig('id')
240
- @client.employee.update_table_row(employee_id, 'jobInfo', row_id, data)
243
+ retry_on_error { @client.employee.update_table_row(employee_id, 'jobInfo', row_id, data) }
241
244
  end
242
245
 
243
246
  def add_compensation_details(employee_id, data)
244
- @client.employee.add_table_row(employee_id, 'compensation', data)
247
+ retry_on_error { @client.employee.add_table_row(employee_id, 'compensation', data) }
245
248
  end
246
249
 
247
250
  def employment_statuses(employee_id)
248
- @client.employee.table_data(employee_id, 'employmentStatus')
251
+ retry_on_error { @client.employee.table_data(employee_id, 'employmentStatus') }
249
252
  end
250
253
 
251
254
  def time_off_types
252
- @time_off_types ||= @client.meta.time_off_types
255
+ @time_off_types ||= retry_on_error { @client.meta.time_off_types }
253
256
  end
254
257
 
255
258
  def time_off_type(name)
@@ -257,11 +260,11 @@ module PeopleGroup
257
260
  end
258
261
 
259
262
  def time_off_estimate(employee_id, end_date = Date.today)
260
- @client.employee.time_off_estimate(employee_id, end_date)
263
+ retry_on_error { @client.employee.time_off_estimate(employee_id, end_date) }
261
264
  end
262
265
 
263
266
  def time_off_adjustment(employee_id, options)
264
- @client.employee.time_off_balance_adjustment(employee_id, options)
267
+ retry_on_error { @client.employee.time_off_balance_adjustment(employee_id, options) }
265
268
  end
266
269
 
267
270
  def accrued_days(employee_id)
@@ -272,18 +275,18 @@ module PeopleGroup
272
275
  end
273
276
 
274
277
  def time_off_policies
275
- @time_off_policies ||= @client.meta.time_off_policies
278
+ @time_off_policies ||= retry_on_error { @client.meta.time_off_policies }
276
279
  end
277
280
 
278
281
  def employee_time_off_policies(employee_id)
279
- @client.employee.time_off_policies(employee_id)
282
+ retry_on_error { @client.employee.time_off_policies(employee_id) }
280
283
  end
281
284
  alias_method :team_member_time_off_policies, :employee_time_off_policies
282
285
 
283
286
  def add_time_off_policy(employee_id, time_off_policy_id, accrual_start_date)
284
287
  policies = [{ timeOffPolicyId: time_off_policy_id, accrualStartDate: accrual_start_date }]
285
288
 
286
- @client.employee.add_time_off_policies(employee_id, policies)
289
+ retry_on_error { @client.employee.add_time_off_policies(employee_id, policies) }
287
290
  end
288
291
 
289
292
  def remove_time_off_policy(employee_id, time_off_policy_id)
@@ -293,7 +296,7 @@ module PeopleGroup
293
296
  end
294
297
 
295
298
  def job_details(employee_id)
296
- @client.employee.table_data(employee_id, 'jobInfo')
299
+ retry_on_error { @client.employee.table_data(employee_id, 'jobInfo') }
297
300
  end
298
301
 
299
302
  def resumes_folder_id(employee_id)
@@ -311,39 +314,39 @@ module PeopleGroup
311
314
  share: 'yes',
312
315
  file: file
313
316
  }
314
- @client.employee.add_file(employee_id, options)
317
+ retry_on_error { @client.employee.add_file(employee_id, options) }
315
318
  end
316
319
 
317
320
  def add_employment_status(employee_id, data)
318
- @client.employee.add_table_row(employee_id, 'employmentStatus', data)
321
+ retry_on_error { @client.employee.add_table_row(employee_id, 'employmentStatus', data) }
319
322
  end
320
323
 
321
324
  def add_currency_conversion(employee_id, data)
322
- @client.employee.add_table_row(employee_id, 'customCurrencyConversion', data)
325
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customCurrencyConversion', data) }
323
326
  end
324
327
 
325
328
  def add_on_target_earnings(employee_id, data)
326
- @client.employee.add_table_row(employee_id, 'customOnTargetEarnings', data)
329
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customOnTargetEarnings', data) }
327
330
  end
328
331
 
329
332
  def add_signing_bonus(employee_id, data)
330
- @client.employee.add_table_row(employee_id, 'customBonus', data)
333
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customBonus', data) }
331
334
  end
332
335
 
333
336
  def add_family_member(employee_id, data)
334
- @client.employee.add_table_row(employee_id, 'customFamilyMember', data)
337
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customFamilyMember', data) }
335
338
  end
336
339
 
337
340
  def add_additional_data(employee_id, data)
338
- @client.employee.add_table_row(employee_id, 'customAdditionalInformation1', data)
341
+ retry_on_error { @client.employee.add_table_row(employee_id, 'customAdditionalInformation1', data) }
339
342
  end
340
343
 
341
344
  def additional_data(employee_id)
342
- @client.employee.table_data(employee_id, 'employmentStatus')
345
+ retry_on_error { @client.employee.table_data(employee_id, 'employmentStatus') }
343
346
  end
344
347
 
345
348
  def currency_conversion(employee_id)
346
- @client.employee.table_data(employee_id, 'customCurrencyConversion')
349
+ retry_on_error { @client.employee.table_data(employee_id, 'customCurrencyConversion') }
347
350
  end
348
351
 
349
352
  def add_bonus(team_member_id, comment)
@@ -354,7 +357,7 @@ module PeopleGroup
354
357
  customBonuscomments: comment
355
358
  # customNominatedBy: 'TODO'
356
359
  }
357
- @client.employee.add_table_row(team_member_id, 'customBonus', data)
360
+ retry_on_error { @client.employee.add_table_row(team_member_id, 'customBonus', data) }
358
361
  end
359
362
 
360
363
  def add_rating_details(team_member_id, performance, potential)
@@ -363,17 +366,21 @@ module PeopleGroup
363
366
  customPerformanceFactor: performance,
364
367
  customPotentialFactor: potential
365
368
  }
366
- @client.employee.add_table_row(team_member_id, 'customPerformanceandPotentialTable', data)
369
+ retry_on_error { @client.employee.add_table_row(team_member_id, 'customPerformanceandPotentialTable', data) }
367
370
  end
368
371
 
369
372
  private
370
373
 
371
374
  def meta_fields
372
- @meta_fields ||= @client.meta.lists
375
+ @meta_fields ||= retry_on_error { @client.meta.lists }
373
376
  end
374
377
 
375
378
  def files(employee_id)
376
- @files ||= @client.employee.files(employee_id)
379
+ @files ||= retry_on_error { @client.employee.files(employee_id) }
380
+ end
381
+
382
+ def retry_on_error(&block)
383
+ Utils.retry_on_error(errors: [Net::ReadTimeout, Bamboozled::GatewayError], delay: 3, &block)
377
384
  end
378
385
  end
379
386
  end
@@ -165,7 +165,7 @@ module PeopleGroup
165
165
  private
166
166
 
167
167
  def retry_on_error(&block)
168
- Utils.retry_on_error(errors: [Gitlab::Error::InternalServerError], &block)
168
+ Utils.retry_on_error(errors: [Gitlab::Error::InternalServerError], delay: 3, &block)
169
169
  end
170
170
 
171
171
  def find_epic(group_id, title)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.66'
5
+ VERSION = '0.1.67'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peoplegroup-connectors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.66
4
+ version: 0.1.67
5
5
  platform: ruby
6
6
  authors:
7
7
  - lien van den steen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-20 00:00:00.000000000 Z
11
+ date: 2021-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab