class DeviseTokenAuth::ApplicationController

def blacklisted_redirect_url?(redirect_url)

def blacklisted_redirect_url?(redirect_url)
  DeviseTokenAuth.redirect_whitelist && !DeviseTokenAuth::Url.whitelisted?(redirect_url)
end

def build_redirect_headers(access_token, client, redirect_header_options = {})

def build_redirect_headers(access_token, client, redirect_header_options = {})
  {
    DeviseTokenAuth.headers_names[:"access-token"] => access_token,
    DeviseTokenAuth.headers_names[:"client"] => client,
    :config => params[:config],
    # Legacy parameters which may be removed in a future release.
    # Consider using "client" and "access-token" in client code.
    # See: github.com/lynndylanhurley/devise_token_auth/issues/993
    :client_id => client,
    :token => access_token
  }.merge(redirect_header_options)
end

def confirmable_enabled?

def confirmable_enabled?
  resource_class.devise_modules.include?(:confirmable)
end

def json_api?

def json_api?
  return false unless defined?(ActiveModel::Serializer)
  return ActiveModel::Serializer.setup do |config|
    config.adapter == :json_api
  end if ActiveModel::Serializer.respond_to?(:setup)
  ActiveModelSerializers.config.adapter == :json_api
end

def params_for_resource(resource)

def params_for_resource(resource)
  devise_parameter_sanitizer.instance_values['permitted'][resource].each do |type|
    params[type.to_s] ||= request.headers[type.to_s] unless request.headers[type.to_s].nil?
  end
  devise_parameter_sanitizer.instance_values['permitted'][resource]
end

def recoverable_enabled?

def recoverable_enabled?
  resource_class.devise_modules.include?(:recoverable)
end

def render_error(status, message, data = nil)

def render_error(status, message, data = nil)
  response = {
    success: false,
    errors: [message]
  }
  response = response.merge(data) if data
  render json: response, status: status
end

def resource_class(m = nil)

def resource_class(m = nil)
  if m
    mapping = Devise.mappings[m]
  else
    mapping = Devise.mappings[resource_name] || Devise.mappings.values.first
  end
  mapping.to
end

def resource_data(opts = {})

def resource_data(opts = {})
  response_data = opts[:resource_json] || @resource.as_json
  response_data['type'] = @resource.class.name.parameterize if json_api?
  response_data
end

def resource_errors

def resource_errors
  @resource.errors.to_hash.merge(full_messages: @resource.errors.full_messages)
end

def success_message(name, email)

def success_message(name, email)
  if Devise.paranoid
    I18n.t("devise_token_auth.#{name}.sended_paranoid")
  else
    I18n.t("devise_token_auth.#{name}.sended", email: email)
  end
end