Sha256: dd62524fd02aa78a575c5097e7e09400625c8a727bf549a8ddbefc9a3c54b80d

Contents?: true

Size: 1.5 KB

Versions: 8

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true

module ZuoraConnect
  # Methods for authenticating and setting the app instance for the current user
  module Authenticate
    extend ActiveSupport::Concern

    def setup_instance_via_dev_mode
      app_instance_id = ZuoraConnect.configuration.dev_mode_appinstance
      session['appInstance'] = app_instance_id
      session["#{app_instance_id}::admin"] = ZuoraConnect.configuration.dev_mode_admin

      values = {
        id: app_instance_id,
        access_token: ZuoraConnect.configuration.dev_mode_user,
        refresh_token: ZuoraConnect.configuration.dev_mode_pass,
        token: ZuoraConnect.configuration.dev_mode_pass + ZuoraConnect.configuration.dev_mode_pass,
        api_token: ZuoraConnect.configuration.dev_mode_pass + ZuoraConnect.configuration.dev_mode_pass
      }

      @appinstance = ZuoraConnect::AppInstance.find_by(id: app_instance_id)
      ZuoraConnect::ZuoraUser.current_user_id = 0
      zuora_org_ids = cookies['Zuora-Org-Ids'] || request.headers['Zuora-Org-Ids']
      ZuoraConnect::ZuoraUser.current_org_ids = zuora_org_ids.split('|') if zuora_org_ids
      if @appinstance.blank?
        Apartment::Tenant.switch!('public')
        begin
          Apartment::Tenant.create(app_instance_id)
        rescue Apartment::TenantExists
          Apartment::Tenant.drop(app_instance_id)
          retry
        end
        @appinstance = ZuoraConnect::AppInstance.new
      end
      @appinstance.assign_attributes(values)
      @appinstance.save(validate: false)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
zuora_connect-3.2.11 app/controllers/concerns/zuora_connect/authenticate.rb
zuora_connect-3.2.10 app/controllers/concerns/zuora_connect/authenticate.rb
zuora_connect-3.2.9 app/controllers/concerns/zuora_connect/authenticate.rb
zuora_connect-3.2.8 app/controllers/concerns/zuora_connect/authenticate.rb
zuora_connect-3.2.7 app/controllers/concerns/zuora_connect/authenticate.rb
zuora_connect-3.2.6 app/controllers/concerns/zuora_connect/authenticate.rb
zuora_connect-3.2.5 app/controllers/concerns/zuora_connect/authenticate.rb
zuora_connect-3.2.4 app/controllers/concerns/zuora_connect/authenticate.rb