Files
fizzy/app/models/bucket/accessible.rb
T
Jose Farias 3be4ba745d Test that bucket creators are given access
`#grant_to` was previously private, which raised upon bucket  creation
2024-10-09 13:18:17 -04:00

27 lines
604 B
Ruby

module Bucket::Accessible
extend ActiveSupport::Concern
included do
has_many :accesses, dependent: :delete_all do
def revise(granted: [], revoked: [])
transaction do
grant_to granted
revoke_from revoked
end
end
def grant_to(users)
Access.insert_all Array(users).collect { |user| { bucket_id: proxy_association.owner.id, user_id: user.id } }
end
def revoke_from(users)
destroy_by user: users
end
end
has_many :users, through: :accesses
after_create -> { accesses.grant_to creator }
end
end