Sha256: c0d97127efcea71154344a4e906bbaddd5610fc0f917abab453983852b425c40

Contents?: true

Size: 799 Bytes

Versions: 2

Compression:

Stored size: 799 Bytes

Contents

require_dependency 'avo/application_controller'

module Avo
  class ResourceOverviewController < ApplicationController
    def index
      resources = App.get_resources
        .select { |resource| AuthorizationService::authorize session_user, resource.model, Avo.configuration.authorization_methods.stringify_keys['index'] }
        .map do |resource|
          {
            name: resource.name,
            url: resource.url,
            count: resource.model.count,
          }
        end

      render json: {
        resources: resources,
        hidden: Avo.configuration.hide_resource_overview_component,
        hide_docs: Avo.configuration.hide_documentation_link,
      }
    end

    private
      def session_user
        current_user.present? ? current_user : nil
      end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
avo-0.3.2 app/controllers/avo/resource_overview_controller.rb
avo-0.3.1 app/controllers/avo/resource_overview_controller.rb