# app/policies/contato_policy.rb
#
# Contatos e grupos (GrupoContatoPolicy herda esta) — quem RECEBE as mensagens.
class ContatoPolicy < ApplicationPolicy
  def index?  = pode?('notificacao.contatos')
  def show?   = index?

  def create? = pode?('notificacao.contatos_gerenciar')
  def new?    = create?
  def update? = create?
  def edit?   = update?

  # Excluir destinatário é separado de editar: some do histórico de quem recebe.
  def destroy? = pode?('notificacao.contatos_excluir')

  # Grupos do WhatsApp carregados sob demanda pelo form.
  def grupos_whatsapp? = create?

  class Scope < Scope
    def resolve
      user.pode?('notificacao.contatos') ? scope.all : scope.none
    end
  end
end
