module GraphqlDevise::Concerns::ControllerMethods

Private Instance Methods

blacklisted_redirect_url?(redirect_url) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 58
def blacklisted_redirect_url?(redirect_url)
  DeviseTokenAuth.redirect_whitelist && !DeviseTokenAuth::Url.whitelisted?(redirect_url)
end
check_redirect_url_whitelist!(redirect_url) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 10
def check_redirect_url_whitelist!(redirect_url)
  if blacklisted_redirect_url?(redirect_url)
    raise_user_error(I18n.t('graphql_devise.redirect_url_not_allowed', redirect_url: redirect_url))
  end
end
client() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 66
def client
  if Gem::Version.new(DeviseTokenAuth::VERSION) <= Gem::Version.new('1.1.0')
    controller.client_id
  else
    controller.token.client if controller.token.present?
  end
end
client_and_token(token) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 81
def client_and_token(token)
  if Gem::Version.new(DeviseTokenAuth::VERSION) <= Gem::Version.new('1.1.0')
    { client_id: token.first, token: token.last }
  else
    { client_id: token.client, token: token.token }
  end
end
confirmable_enabled?() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 54
def confirmable_enabled?
  resource_class.devise_modules.include?(:confirmable)
end
controller() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 38
def controller
  context[:controller]
end
current_resource() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 62
def current_resource
  @current_resource ||= controller.send(:set_resource_by_token, resource_class)
end
find_resource(field, value) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 98
def find_resource(field, value)
  if resource_class.connection.adapter_name.downcase.include?('mysql')
    # fix for mysql default case insensitivity
    resource_class.where("BINARY #{field} = ? AND provider= ?", value, provider).first
  elsif Gem::Version.new(DeviseTokenAuth::VERSION) < Gem::Version.new('1.1.0')
    resource_class.find_by(field => value, :provider => provider)
  else
    resource_class.dta_find_by(field => value, :provider => provider)
  end
end
get_case_insensitive_field(field, value) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 109
def get_case_insensitive_field(field, value)
  if resource_class.case_insensitive_keys.include?(field)
    value.downcase
  else
    value
  end
end
provider() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 117
def provider
  :email
end
raise_user_error(message) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 16
def raise_user_error(message)
  raise GraphqlDevise::UserError, message
end
raise_user_error_list(message, errors:) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 20
def raise_user_error_list(message, errors:)
  raise GraphqlDevise::DetailedUserError.new(message, errors: errors)
end
recoverable_enabled?() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 50
def recoverable_enabled?
  resource_class.devise_modules.include?(:recoverable)
end
redirect_headers(token_info, redirect_header_options) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 89
def redirect_headers(token_info, redirect_header_options)
  controller.send(
    :build_redirect_headers,
    token_info.fetch(:token),
    token_info.fetch(:client_id),
    redirect_header_options
  )
end
remove_resource() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 24
def remove_resource
  controller.resource = nil
  controller.client_id = nil
  controller.token = nil
end
request() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 30
def request
  controller.request
end
resource_class() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 46
def resource_class
  self.class.instance_variable_get(:@resource_klass)
end
resource_name() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 42
def resource_name
  GraphqlDevise.to_mapping_name(resource_class)
end
response() click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 34
def response
  controller.response
end
set_auth_headers(resource) click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 74
def set_auth_headers(resource)
  auth_headers = resource.create_new_auth_token
  response.headers.merge!(auth_headers)

  auth_headers
end