28 lines
1.2 KiB
Ruby
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
|