-- +goose Up
-- +goose StatementBegin

-- A fila de reenvio (whatsapp_queue) já guardava media_url mas o código
-- nunca preenchia esse campo nem os demais metadados do anexo — então uma
-- mensagem com PDF/imagem que caía na fila (ex.: celular pareado desligado
-- no momento do envio) reenviava só o texto, perdendo o anexo.
ALTER TABLE whatsapp_queue
  ADD COLUMN IF NOT EXISTS media_nome TEXT,
  ADD COLUMN IF NOT EXISTS media_mimetype TEXT;

-- Vincula o item da fila à mensagem correspondente em `mensagens` (histórico
-- da conversa no CRM), pra quando a fila conseguir reenviar (ou esgotar as
-- tentativas) atualizar o status_entrega real da mensagem em vez de deixar
-- "enviada" gravado desde o início mesmo quando só foi enfileirada.
ALTER TABLE whatsapp_queue
  ADD COLUMN IF NOT EXISTS mensagem_id UUID REFERENCES mensagens(id) ON DELETE SET NULL;

-- +goose StatementEnd

-- +goose Down
-- +goose StatementBegin
ALTER TABLE whatsapp_queue DROP COLUMN IF EXISTS media_nome;
ALTER TABLE whatsapp_queue DROP COLUMN IF EXISTS media_mimetype;
ALTER TABLE whatsapp_queue DROP COLUMN IF EXISTS mensagem_id;
-- +goose StatementEnd
