Sha256: 7f2a5642ecbffe5736a1acc88ede7ac0a1eb6f8f4a1734089f23e42735845f3d

Contents?: true

Size: 832 Bytes

Versions: 7

Compression:

Stored size: 832 Bytes

Contents

module Services
  module Hubspot
    module Authorization
      class GetAuthorizationUri
        CALLBACK_PATH = '/oauth/hubspot_callback'.freeze

        def initialize(request:)
          @request = request
        end

        def call
          check_presence_of_credentials

          ::Hubspot::OAuthHelper.authorize_url(
            client_id: ENV['HUBSPOT_CLIENT_ID'],
            redirect_uri: redirect_uri,
            scope: %w[contacts]
          )
        end

        private

        def redirect_uri
          @request.protocol + @request.host_with_port + CALLBACK_PATH
        end

        def check_presence_of_credentials
          return if ENV['HUBSPOT_CLIENT_ID'].present?

          raise(ExceptionHandler::HubspotError.new, 'Please specify HUBSPOT_CLIENT_ID in .env')
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
hubspot-api-client-9.0.0 sample-apps/trello-integration-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb
hubspot-api-client-8.0.1 sample-apps/trello-integration-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb
hubspot-api-client-8.0.0 sample-apps/trello-integration-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb
hubspot-api-client-7.3.0 sample-apps/trello-integration-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb
hubspot-api-client-7.2.0 sample-apps/trello-integration-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb
hubspot-api-client-7.1.1 sample-apps/trello-integration-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb
hubspot-api-client-7.1.0 sample-apps/trello-integration-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb