Sha256: 2eb9a84e0a980970e21da85c37a9148646d72898c118b3a76e85019c57109ecb

Contents?: true

Size: 1.43 KB

Versions: 13

Compression:

Stored size: 1.43 KB

Contents

require_dependency "faalis/application_controller"

module Faalis
  class API::V1::PermissionsController < ::APIController

    skip_after_action :verify_authorized
    respond_to :json

    class DummyPerm
      attr_accessor :model, :permission_type
    end

    # api GET permissions
    # return All permissions
    def index
      @permissions = {}

      Faalis::Permission.all.each do |perm|
        if @permissions.include? perm.model
          @permissions[perm.model] << perm.action
        else
          @permissions[perm.model] = [perm.action]
        end
      end

      respond_with(@permissions)
    end

    # api GET permissions/user
    # return current user permissions
    def user_permissions

      @permissions = {}
      current_user.permissions.each do |perm|
        if @permissions.include? perm.model
          @permissions[perm.model] << perm.action
        else
          @permissions[perm.model] = [perm.action]
        end
      end

      respond_with(@permissions)
      return

      @permissions = {}
      perms = []

      # Generate a suitable Hash for permissions
      perms.each do |perm|
        if @permissions.include? perm.model
          @permissions[perm.model] << perm.permission_type.to_s
          @permissions[perm.model] = @permissions[perm.model].uniq
        else
          @permissions[perm.model] = [perm.permission_type.to_s]
        end
      end
      respond_with(@permissions)
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
faalis-2.0.8 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.7 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.5 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.4 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.3 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.1 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.0 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.0.rc6 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.0.rc5 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.0.rc4 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.0.rc3 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-2.0.0.rc2 app/controllers/faalis/api/v1/permissions_controller.rb
faalis-1.0.0 app/controllers/faalis/api/v1/permissions_controller.rb