zuora_connect 3.0.0.pre.a → 3.0.0.pre.b

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e63c10c8405375ad7cb2c28073c6181ed055266fb8d61e3ac5725e8f5b8ca8d5
4
- data.tar.gz: c5124fe3590fd14c0acdad0cfe6e567997195eaa728245f620bfff5bbda285fe
3
+ metadata.gz: d7d9c3445983c015ce0615581bee9d36802b113c220caf4404f4bed697fc67ac
4
+ data.tar.gz: 29428d8aec94b04f215ac3faa5faba871cf1c21f60eb804abe6f501adafdb0ca
5
5
  SHA512:
6
- metadata.gz: 1beb3e3c0531b3035051711670de269814122c20269086ffd31257b02dc4e6ff8c515ac812abc436360ebc9f1506e3ae8e15e859d6098913e08f2dfed67e1284
7
- data.tar.gz: bff9fca90e302be4fe97b3cac4ac54bb8dc6c841ad6762939f9b0b2c6c7e66417bb108105d6d8372965ae9090d813c97cff8a4a4a6b513665beed63c9229f0e4
6
+ metadata.gz: cb4cee9b6e964dbd417e758bf03e1a7cf1461d600e327110ad0155c5fd710e7083fb2d476697a24fe5d327a22eea4585982dbe1133b32b7c849a921a1004fe07
7
+ data.tar.gz: 7bd1393e58a2b341a2c64d8b8d870bbc13e906fa99ba22dd201a2afd250642505b1480469cfa5788dfd45215fe726b3af5a117d6eb80e623cc55e8d37bbd65cc
@@ -168,6 +168,7 @@ module ZuoraConnect
168
168
  end
169
169
 
170
170
  self.build_task(task_data: mock_task_data, session: session)
171
+ self.set_backup_creds
171
172
  self.last_refresh = Time.now.to_i
172
173
  else
173
174
  time_expire = (session["#{self.id}::last_refresh"] || Time.now).to_i - INSTANCE_REFRESH_WINDOW.ago.to_i
@@ -289,10 +290,7 @@ module ZuoraConnect
289
290
  elsif type == :user
290
291
  begin
291
292
  sql = <<-eos
292
- SELECT zuora_users.zuora_identity_response
293
- FROM "#{self.id}".zuora_users
294
- ORDER BY zuora_users.updated_at DESC
295
- LIMIT 1;
293
+ SELECT zuora_users.zuora_identity_response FROM "#{self.id}".zuora_users ORDER BY zuora_users.updated_at DESC LIMIT 1;
296
294
  eos
297
295
  user = ActiveRecord::Base.connection.execute(sql).to_a.first
298
296
 
@@ -352,7 +350,7 @@ module ZuoraConnect
352
350
  skip_connect ||= false
353
351
  begin
354
352
  #Check how app was deployed
355
- if self.id < 25000000 && !skip_connect
353
+ if !self.auto_deployed? && !skip_connect
356
354
  self.check_oauth_state
357
355
  response = HTTParty.get(ZuoraConnect.configuration.url + "/api/#{self.api_version}/tools/tasks/#{self.id}.json",:body => {:access_token => self.access_token})
358
356
 
@@ -363,17 +361,9 @@ module ZuoraConnect
363
361
  raise ZuoraConnect::Exceptions::ConnectCommunicationError.new("JSON parse error", response.body, response.code)
364
362
  end
365
363
 
366
- self.build_task(task_data: parsed_json, session: session)
367
- if self.kms_key.present? && self.kms_key.match(/^arn:aws:.*/)
368
- begin
369
- self.zuora_logins = self.strip_cache_data(object: parsed_json.dup, keys: ['applications', 'tokens', 'user_settings'])
370
- self.save(:validate => false)
371
- rescue Aws::KMS::Errors::ValidationException, *AWS_AUTH_ERRORS => ex
372
- Rails.logger.warn(AWS_AUTH_ERRORS_MSG, ex)
373
- rescue => ex
374
- Rails.logger.error(AWS_AUTH_ERRORS_MSG, ex)
375
- end
376
- end
364
+ self.build_task(task_data: parsed_json, session: session)
365
+ self.set_backup_creds
366
+ self.save(validate: false) if self.changed?
377
367
  else
378
368
  raise ZuoraConnect::Exceptions::ConnectCommunicationError.new("Error Communicating with Connect", response.body, response.code)
379
369
  end
@@ -418,8 +408,16 @@ module ZuoraConnect
418
408
  end
419
409
 
420
410
  #### START KMS ENCRYPTION Methods ####
411
+ def set_backup_creds
412
+ if self.kms_key.present? && self.kms_key.match(/^arn:aws:.*/) && self.task_data.present?
413
+ self.zuora_logins = self.strip_cache_data(object: self.task_data.dup, keys: ['applications', 'tokens', 'user_settings'])
414
+ end
415
+ end
416
+
421
417
  def zuora_logins=(val)
422
418
  write_attribute(:zuora_logins, kms_encrypt(val.to_json))
419
+ rescue Aws::KMS::Errors::ValidationException, Aws::KMS::Errors::NotFoundException, *AWS_AUTH_ERRORS => ex
420
+ Rails.logger.warn(AWS_AUTH_ERRORS_MSG, ex)
423
421
  end
424
422
 
425
423
  def zuora_logins
@@ -582,7 +580,7 @@ module ZuoraConnect
582
580
  parsed_json = JSON.parse(response.body)
583
581
 
584
582
  #Set Org
585
- if self.id >= 25000000 && parsed_json['organization'].present?
583
+ if self.auto_deployed? && parsed_json['organization'].present?
586
584
  login_cache = self.zuora_logins
587
585
  login_cache.delete('organization')
588
586
  self.zuora_logins = login_cache.merge({'organizations' => [parsed_json['organization']]})
@@ -86,13 +86,6 @@ module ZuoraConnect
86
86
  @status, @headers, @response = @app.call(env)
87
87
  ensure
88
88
 
89
- # If the url contains any CSS or JavaScript files then do not collect metrics for them
90
- if ["css", "assets", "jpg", "png", "jpeg", "ico"].any? { |word| env['PATH_INFO'].include?(word) } || /.*\.js$/.match(env['PATH_INFO'])
91
- tags = {status: @status, controller: 'ActionController', action: 'Assets', app_instance: 0}
92
- values = {response_time: ((Time.now - start_time)*1000).round(2) }
93
- ZuoraObservability::Metrics.write_to_telegraf(direction: 'request-inbound-assets', tags: tags, values: values)
94
- end
95
-
96
89
  # Uncomment following block of code for handling engine requests/requests without controller
97
90
  # else
98
91
  # # Handling requests which do not have controllers (engines)
@@ -677,10 +677,17 @@ module ZuoraConnect
677
677
 
678
678
  def setup_instance_via_dev_mode
679
679
  session["appInstance"] = ZuoraConnect.configuration.dev_mode_appinstance
680
- user = ZuoraConnect.configuration.dev_mode_user
681
- key = ZuoraConnect.configuration.dev_mode_pass
682
- values = {:user => user , :key => key, :appinstance => session["appInstance"]}
683
- @appinstance = ZuoraConnect::AppInstance.find_by(:id => values[:appinstance].to_i)
680
+ session["#{ZuoraConnect.configuration.dev_mode_appinstance}::admin"] = ZuoraConnect.configuration.dev_mode_admin
681
+
682
+ values = {
683
+ id: ZuoraConnect.configuration.dev_mode_appinstance,
684
+ access_token: ZuoraConnect.configuration.dev_mode_user,
685
+ refresh_token: ZuoraConnect.configuration.dev_mode_pass,
686
+ token: ZuoraConnect.configuration.dev_mode_pass+ZuoraConnect.configuration.dev_mode_pass,
687
+ api_token: ZuoraConnect.configuration.dev_mode_pass+ZuoraConnect.configuration.dev_mode_pass
688
+ }
689
+
690
+ @appinstance = ZuoraConnect::AppInstance.find_by(:id => ZuoraConnect.configuration.dev_mode_appinstance.to_i)
684
691
  ZuoraConnect::ZuoraUser.current_user_id = 0
685
692
  if @appinstance.blank?
686
693
  Apartment::Tenant.switch!("public")
@@ -690,14 +697,10 @@ module ZuoraConnect
690
697
  Apartment::Tenant.drop(values[:appinstance].to_s)
691
698
  retry
692
699
  end
693
-
694
- @appinstance = ZuoraConnect::AppInstance.new(:id => values[:appinstance].to_i, :access_token => values[:user], :refresh_token => values[:key], :token => "#{values[:key]}#{values[:key]}", :api_token => "#{values[:key]}#{values[:key]}")
695
- @appinstance.save(:validate => false)
696
- end
697
- if @appinstance.access_token.blank? || @appinstance.refresh_token.blank? || @appinstance.token.blank? || @appinstance.api_token.blank?
698
- @appinstance.update_attributes!(:access_token => values["user"], :refresh_token => values["key"], :token => "#{values[:key]}#{values[:key]}", :api_token => "#{values[:key]}#{values[:key]}")
700
+ @appinstance = ZuoraConnect::AppInstance.new()
699
701
  end
700
- session["#{@appinstance.id}::admin"] = ZuoraConnect.configuration.dev_mode_admin
702
+ @appinstance.assign_attributes(values)
703
+ @appinstance.save(:validate => false)
701
704
  end
702
705
  end
703
706
  end
@@ -1,3 +1,3 @@
1
1
  module ZuoraConnect
2
- VERSION = "3.0.0-a"
2
+ VERSION = "3.0.0-b"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.pre.a
4
+ version: 3.0.0.pre.b
5
5
  platform: ruby
6
6
  authors:
7
7
  - Connect Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-30 00:00:00.000000000 Z
11
+ date: 2020-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apartment