# 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