lib/proxes/policies/request/bulk_policy.rb in proxes-0.9.2 vs lib/proxes/policies/request/bulk_policy.rb in proxes-0.9.4

- old
+ new

@@ -1,35 +1,24 @@ # frozen_string_literal: true +require 'active_support' +require 'active_support/core_ext/object/blank' require 'proxes/policies/request_policy' module ProxES class Request class BulkPolicy < RequestPolicy def post? - return false if user.nil? + return false if user.nil? || + (request.index && !index_allowed?) || + (request.bulk_indices == '' || patterns.blank?) - patterns = Permission.for_user(user, 'INDEX').map do |permission| - permission.pattern.gsub(/\{user.(.*)\}/) { |_match| user.send(Regexp.last_match[1].to_sym) } - end - - return false if request.index && !index_allowed? - return false if request.bulk_indices == '' || patterns.empty? - patterns.find do |pattern| request.bulk_indices.find { |idx| idx !~ /#{pattern}/ } end.nil? end class Scope < RequestPolicy::Scope - def resolve - return false if user.nil? - - patterns = Permission.for_user(user, 'INDEX').map do |permission| - permission.pattern.gsub(/\{user.(.*)\}/) { |_match| user.send(Regexp.last_match[1].to_sym) } - end - filter request.index, patterns - end end end end end