Implantação da geração de mensagem de forma livre e mudança na engine de mensagem

This commit is contained in:
2026-08-24 17:32:16 -03:00
parent 94bbe7556f
commit 88f19dd8f5
77 changed files with 4650 additions and 25 deletions

View File

@@ -0,0 +1,31 @@
# Log de cada mensagem disparada — quem recebeu, por qual canal, com que texto e
# se deu certo.
#
# Hoje uma falha de envio só vira linha no log do Rails (NotificacaoService
# engole a exceção de propósito, para um SMTP fora do ar não travar o
# fechamento). Isso é certo, mas deixa o operador sem resposta para "o motorista
# recebeu?". Com o WhatsApp por sessão QR — que cai sozinho e precisa
# repareamento — essa pergunta passa a ser rotina.
class CreateNotificacaoEnvios < ActiveRecord::Migration[7.1]
def change
create_table :notificacao_envios do |t|
t.references :evento_notificacao, foreign_key: true, index: true
t.references :contato, foreign_key: true, index: true
t.references :user, foreign_key: true, index: true
t.string :canal, null: false # whatsapp | email
t.string :destino, null: false # telefone E.164 ou e-mail
t.string :assunto
t.text :corpo
t.string :status, null: false, default: 'pendente' # pendente|enviado|falhou
t.text :erro
t.integer :tentativas, null: false, default: 0
t.datetime :enviado_em
t.timestamps
end
add_index :notificacao_envios, %i[status created_at]
add_index :notificacao_envios, :created_at
end
end