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