Sha256: 59a7b423a7356f6a36d2b825772f91b3484085a776a98154364c75c819a8ddc4

Contents?: true

Size: 636 Bytes

Versions: 3

Compression:

Stored size: 636 Bytes

Contents

module CensorBear
  class ApplicationController < ActionController::Base
    before_action :check_authenticate_user!
    before_action :authenticate_censor_bear_user!
    include ::Pagy::Backend

    def check_authenticate_user!
      if respond_to?(:authenticate_user!)
        return authenticate_user!
      end
      authenticate_censor_bear_user!
    end

    def authenticate_censor_bear_user!
      render(json: { msg: "no permission" }, status: 403) unless current_user.censor_bear_admin?
    end

    def current_user
      user = main_app.scope.request.env["warden"]&.user
      return user if user.present?
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
censor_bear-0.1.29 app/controllers/censor_bear/application_controller.rb
censor_bear-0.1.28 app/controllers/censor_bear/application_controller.rb
censor_bear-0.1.27 app/controllers/censor_bear/application_controller.rb