zuora_connect 3.0.1.pre.c → 3.0.2.pre.b

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: ad647d03e32b321e138c9adac68f251170483f170801baa94017ba70e920b8e8
4
- data.tar.gz: 80fcbbb2144cbb89e2f79a28dc425350337199528e9a47adaa2f677bfd4be7ec
3
+ metadata.gz: 88383fb37eab881d442eb16520cc71cf11c98456c4b66e6cc59bc46f8f60e625
4
+ data.tar.gz: 741a1f55b33c8045d57902ed937fe98cfbfb63fa422f109228ac4d4bebef5cc8
5
5
  SHA512:
6
- metadata.gz: 1d1f9ce5e3958d4c88f0480158c857cf1dcdce12f72af62c8f11c1a7caf03551b5a1be34fd30b404072058b57ef1a6b3c9834fafa7cea40615e5d5ddc992af6e
7
- data.tar.gz: e3a4ac9e3994c489fe4c21e3f2ae313d58dad157a8629965c68032f8a77d4578d7076a90f22ba8bc71c195df9e97cb07cb0160452546c5a16eacdce1e96c9a53
6
+ metadata.gz: 7d23d6d4c59108331e07c2e7c2003fa2c297ae166b5b7317d982220dff5a1845e99adc30cb93ff6d93976c5eec6442b6986e1db318e5f8f3353746d4d2d66704
7
+ data.tar.gz: 6954dee8718c38bce95971b3f31e91cc377392bc83019ff6b0ca1964baaf91890c2b57a319edf208051b725b79a11a7dc44fb64ad54792f23c6733cf4b910373
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ZuoraConnect
4
+ # Methods for authenticating and setting the app instance for the current user
5
+ module Authenticate
6
+ extend ActiveSupport::Concern
7
+
8
+ def setup_instance_via_dev_mode
9
+ app_instance_id = ZuoraConnect.configuration.dev_mode_appinstance
10
+ session['appInstance'] = app_instance_id
11
+ session["#{app_instance_id}::admin"] = ZuoraConnect.configuration.dev_mode_admin
12
+
13
+ values = {
14
+ id: app_instance_id,
15
+ access_token: ZuoraConnect.configuration.dev_mode_user,
16
+ refresh_token: ZuoraConnect.configuration.dev_mode_pass,
17
+ token: ZuoraConnect.configuration.dev_mode_pass + ZuoraConnect.configuration.dev_mode_pass,
18
+ api_token: ZuoraConnect.configuration.dev_mode_pass + ZuoraConnect.configuration.dev_mode_pass
19
+ }
20
+
21
+ @appinstance = ZuoraConnect::AppInstance.find_by(id: app_instance_id)
22
+ ZuoraConnect::ZuoraUser.current_user_id = 0
23
+ if @appinstance.blank?
24
+ Apartment::Tenant.switch!('public')
25
+ begin
26
+ Apartment::Tenant.create(app_instance_id)
27
+ rescue Apartment::TenantExists
28
+ Apartment::Tenant.drop(app_instance_id)
29
+ retry
30
+ end
31
+ @appinstance = ZuoraConnect::AppInstance.new
32
+ end
33
+ @appinstance.assign_attributes(values)
34
+ @appinstance.save(validate: false)
35
+ end
36
+ end
37
+ end
@@ -10,6 +10,7 @@ module ZuoraConnect
10
10
  included do
11
11
  before_create :set_created_by_id
12
12
  before_update :set_updated_by_id
13
+ before_destroy :set_updated_by_id
13
14
 
14
15
  private
15
16
 
@@ -1293,8 +1293,8 @@ module ZuoraConnect
1293
1293
  end
1294
1294
 
1295
1295
  def self.read_master_db
1296
- if self.connection.respond_to?(:stick_to_master!)
1297
- self.connection.stick_to_master!(false)
1296
+ if self.connection.respond_to?(:stick_to_primary!)
1297
+ self.connection.stick_to_primary!(false)
1298
1298
  yield
1299
1299
  Makara::Context.release_all
1300
1300
  else
@@ -26,14 +26,9 @@ module ZuoraConnect
26
26
  @appinstance = ZuoraConnect::AppInstance.find_by(:api_token => request.headers["API-Token"])
27
27
  ZuoraConnect.logger.debug("API REQUEST - API token") if @appinstance.present?
28
28
  check_instance
29
- elsif ZuoraConnect::AppInstance::INTERNAL_HOSTS.include?(request.headers.fetch("HOST", nil))
29
+ elsif ZuoraConnect::AppInstance::INTERNAL_HOSTS.include?(request.headers.fetch("HOST", nil)) && request.headers['zuora-host'].present?
30
30
  zuora_host, zuora_entity_id, zuora_instance_id = [request.headers['zuora-host'], (request.headers['zuora-entity-ids'] || "").gsub('-',''), request.headers['zuora-instance-id']]
31
31
 
32
- #Validate host present
33
- if zuora_host.blank?
34
- render json: {"status": 401, "message": "zuora-host header was not supplied."}, status: :unauthorized
35
- return
36
- end
37
32
  #Validate entity-ids present
38
33
  if zuora_entity_id.blank?
39
34
  render json: {"status": 401, "message": "zuora-entity-ids header was not supplied."}, status: :unauthorized
@@ -663,34 +658,6 @@ module ZuoraConnect
663
658
  def generate_token
664
659
  rand(36**64).to_s(36)
665
660
  end
666
-
667
- def setup_instance_via_dev_mode
668
- session["appInstance"] = ZuoraConnect.configuration.dev_mode_appinstance
669
- session["#{ZuoraConnect.configuration.dev_mode_appinstance}::admin"] = ZuoraConnect.configuration.dev_mode_admin
670
-
671
- values = {
672
- id: ZuoraConnect.configuration.dev_mode_appinstance,
673
- access_token: ZuoraConnect.configuration.dev_mode_user,
674
- refresh_token: ZuoraConnect.configuration.dev_mode_pass,
675
- token: ZuoraConnect.configuration.dev_mode_pass+ZuoraConnect.configuration.dev_mode_pass,
676
- api_token: ZuoraConnect.configuration.dev_mode_pass+ZuoraConnect.configuration.dev_mode_pass
677
- }
678
-
679
- @appinstance = ZuoraConnect::AppInstance.find_by(:id => ZuoraConnect.configuration.dev_mode_appinstance.to_i)
680
- ZuoraConnect::ZuoraUser.current_user_id = 0
681
- if @appinstance.blank?
682
- Apartment::Tenant.switch!("public")
683
- begin
684
- Apartment::Tenant.create(ZuoraConnect.configuration.dev_mode_appinstance.to_s)
685
- rescue Apartment::TenantExists => ex
686
- Apartment::Tenant.drop(ZuoraConnect.configuration.dev_mode_appinstance.to_s)
687
- retry
688
- end
689
- @appinstance = ZuoraConnect::AppInstance.new()
690
- end
691
- @appinstance.assign_attributes(values)
692
- @appinstance.save(:validate => false)
693
- end
694
661
  end
695
662
  end
696
663
  end
@@ -31,6 +31,7 @@ module ZuoraConnect
31
31
  initializer "connect.helpers" do
32
32
  ActiveSupport.on_load(:action_controller) do
33
33
  include ZuoraConnect::Controllers::Helpers
34
+ include ZuoraConnect::Authenticate
34
35
  helper ZuoraConnect::ApplicationHelper
35
36
  end
36
37
  end
@@ -1,7 +1,6 @@
1
1
  require 'middleware/metrics_middleware'
2
2
  require 'middleware/request_id_middleware'
3
3
  require 'middleware/json_parse_errors'
4
- require 'middleware/bad_multipart_form_data_sanitizer'
5
4
 
6
5
  module ZuoraConnect
7
6
  class Railtie < Rails::Railtie
@@ -20,7 +19,6 @@ module ZuoraConnect
20
19
  initializer "zuora_connect.configure_rails_initialization" do |app|
21
20
  app.middleware.insert_after Rack::Sendfile, ZuoraConnect::MetricsMiddleware
22
21
  app.middleware.insert_after ActionDispatch::RequestId, ZuoraConnect::RequestIdMiddleware
23
- app.middleware.insert_before Rack::Runtime, ZuoraConnect::BadMultipartFormDataSanitizer
24
22
  app.config.middleware.use ZuoraConnect::JsonParseErrors
25
23
  end
26
24
 
@@ -1,3 +1,3 @@
1
1
  module ZuoraConnect
2
- VERSION = "3.0.1-c"
2
+ VERSION = "3.0.2-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.1.pre.c
4
+ version: 3.0.2.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: 2021-04-30 00:00:00.000000000 Z
11
+ date: 2021-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apartment
@@ -100,13 +100,27 @@ dependencies:
100
100
  - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rack
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 2.0.2
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 2.0.2
103
117
  - !ruby/object:Gem::Dependency
104
118
  name: railties
105
119
  requirement: !ruby/object:Gem::Requirement
106
120
  requirements:
107
121
  - - ">="
108
122
  - !ruby/object:Gem::Version
109
- version: 4.1.0
123
+ version: '5.0'
110
124
  - - "<"
111
125
  - !ruby/object:Gem::Version
112
126
  version: '6.1'
@@ -116,7 +130,7 @@ dependencies:
116
130
  requirements:
117
131
  - - ">="
118
132
  - !ruby/object:Gem::Version
119
- version: 4.1.0
133
+ version: '5.0'
120
134
  - - "<"
121
135
  - !ruby/object:Gem::Version
122
136
  version: '6.1'
@@ -346,6 +360,7 @@ files:
346
360
  - app/assets/javascripts/zuora_connect/application.js
347
361
  - app/assets/stylesheets/zuora_connect/api/v1/app_instance.css
348
362
  - app/assets/stylesheets/zuora_connect/application.css
363
+ - app/controllers/concerns/zuora_connect/authenticate.rb
349
364
  - app/controllers/zuora_connect/admin/tenant_controller.rb
350
365
  - app/controllers/zuora_connect/api/v1/app_instance_controller.rb
351
366
  - app/controllers/zuora_connect/application_controller.rb
@@ -394,7 +409,6 @@ files:
394
409
  - db/migrate/20190520232224_add_environment_fields.rb
395
410
  - lib/metrics/influx/point_value.rb
396
411
  - lib/metrics/net.rb
397
- - lib/middleware/bad_multipart_form_data_sanitizer.rb
398
412
  - lib/middleware/json_parse_errors.rb
399
413
  - lib/middleware/metrics_middleware.rb
400
414
  - lib/middleware/request_id_middleware.rb
@@ -430,7 +444,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
430
444
  - !ruby/object:Gem::Version
431
445
  version: 1.3.1
432
446
  requirements: []
433
- rubygems_version: 3.2.15
447
+ rubygems_version: 3.2.22
434
448
  signing_key:
435
449
  specification_version: 4
436
450
  summary: Summary of Connect.
@@ -1,21 +0,0 @@
1
- module ZuoraConnect
2
- class BadMultipartFormDataSanitizer
3
- def initialize(app)
4
- @app = app
5
- end
6
-
7
- def call(env)
8
- if env['CONTENT_TYPE'] =~ /multipart\/form-data/
9
- begin
10
- Rack::Multipart.parse_multipart(env)
11
- rescue EOFError => ex
12
- # set content-type to multipart/form-data without the boundary part
13
- # to handle the case where empty content is submitted
14
- env['CONTENT_TYPE'] = 'multipart/form-data'
15
- end
16
- end
17
-
18
- @app.call(env)
19
- end
20
- end
21
- end