Sha256: 0de3a4b09c6e5b3811384c17d7c979d45119bfa7adc1d92f877ff8cd48ce86c2
Contents?: true
Size: 1.88 KB
Versions: 7
Compression:
Stored size: 1.88 KB
Contents
# frozen_string_literal: true module DeviseJwtAuth class ApplicationController < DeviseController include DeviseJwtAuth::Concerns::SetUserByToken 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 @resource.errors.to_hash.merge(full_messages: @resource.errors.full_messages) end protected def blacklisted_redirect_url?(redirect_url) DeviseJwtAuth.redirect_whitelist && !DeviseJwtAuth::Url.whitelisted?(redirect_url) end 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 resource_class(m = nil) mapping = if m Devise.mappings[m] else Devise.mappings[resource_name] || Devise.mappings.values.first end mapping.to end def json_api? return false unless defined?(ActiveModel::Serializer) if ActiveModel::Serializer.respond_to?(:setup) return ActiveModel::Serializer.setup do |config| config.adapter == :json_api end end ActiveModelSerializers.config.adapter == :json_api end def recoverable_enabled? resource_class.devise_modules.include?(:recoverable) end def confirmable_enabled? resource_class.devise_modules.include?(:confirmable) end def render_error(status, message, data = nil) response = { success: false, errors: [message] } response = response.merge(data) if data render json: response, status: status end end end
Version data entries
7 entries across 7 versions & 3 rubygems