scope :visible_for, ->(user) {
    # user == user || has content priv
    members = GroupMember.with_permission(:content).for_user(user)
    groups = members.select(:group_id)
    where(group_id: groups).or(where(user: user))