Sha256: ae9d0af06094c353d2495e9d3742b1148ef148d8acd3cacd91e525382701f5d7

Contents?: true

Size: 1014 Bytes

Versions: 39

Compression:

Stored size: 1014 Bytes

Contents

module Ecom
  module Core
    class ApplicationController < ActionController::API
      before_action :authenticate

      def logged_in?
        !current_user.nil?
      end

      def current_user
        return unless auth_present?

        user = User.find(auth['id'])
        @current_user ||= user if user
      end


      private

      def authenticate
        render json: { error: 'Unauthorized' }, status: 401 unless logged_in?
      end

      def token
        return nil if request.env['HTTP_AUTHORIZATION'].nil?

        request.env['HTTP_AUTHORIZATION'].scan(/Bearer (.*)$/).flatten.last
      end

      def auth
        TokenAuthService.decode(token)
      end

      def auth_present?
        !token.nil?
      end

      def generate_error_message(entity)
        value = entity.errors.details.first[1][0][:value]
        field = entity.errors.keys[0]
        message = entity.errors.values[0][0]

        entity.errors.full_message(field, "'#{value}' #{message}")
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
ecom_core-1.2.12 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.11 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.10 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.9 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.7 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.6 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.5 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.4 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.3 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.2 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.1 app/controllers/ecom/core/application_controller.rb
ecom_core-1.2.0 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.28 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.27 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.26 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.25 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.24 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.23 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.22 app/controllers/ecom/core/application_controller.rb
ecom_core-1.1.21 app/controllers/ecom/core/application_controller.rb