Files
Reem-Notas/db/migrate/20260824000008_add_grupo_whatsapp_to_contatos.rb

28 lines
1.2 KiB
Ruby

# Permite que um destinatário seja um GRUPO do WhatsApp, e não só uma pessoa.
#
# O grupo entra como Contato de propósito: assim ele herda tudo que já existe —
# pertence a um grupo de contatos, recebe os eventos que o grupo assina e cada
# envio fica registrado em notificacao_envios. Uma tabela separada duplicaria
# essa máquina inteira.
#
# `whatsapp_grupo_jid` guarda o identificador do WhatsApp (ex.:
# "120363012345678901@g.us"). NÃO é telefone: não tem DDD, não normaliza, e a
# validação de número não se aplica — daí a coluna própria em vez de reaproveitar
# `telefone`.
#
# ⚠️ Nome: `grupo_contato_id` é o GRUPO INTERNO (Diretoria, Motoristas...);
# `whatsapp_grupo_*` é o grupo lá no WhatsApp. Coisas diferentes.
class AddGrupoWhatsappToContatos < ActiveRecord::Migration[7.1]
def change
change_table :contatos, bulk: true do |t|
t.string :tipo, null: false, default: 'pessoa' # pessoa | grupo_whatsapp
t.string :whatsapp_grupo_jid
# Nome do grupo no momento do cadastro: o JID é opaco e a tela precisa
# mostrar algo legível mesmo com a ponte fora do ar.
t.string :whatsapp_grupo_nome
end
add_index :contatos, :whatsapp_grupo_jid
end
end