app/authorizers/attribute_authorizer.rb
class AttributeAuthorizer < ApplicationAuthorizer
def self.creatable_by? user
return false unless user.present?
[
true
].any?
end
def readable_by? user
return true if PermissionService.user_owns_content?(user: user, content: resource)
return true if PermissionService.user_owns_any_containing_universe?(user: user, content: resource)
return true if PermissionService.user_can_contribute_to_containing_universe?(user: user, content: resource)
return true if PermissionService.content_is_public?(content: resource)
return true if PermissionService.content_is_in_a_public_universe?(content: resource)
return false
end
def updatable_by? user
[
PermissionService.user_owns_content?(user: user, content: resource),
].any?
end
def deletable_by? user
[
PermissionService.user_owns_content?(user: user, content: resource),
].any?
end
end