-- +goose Up
-- +goose StatementBegin

-- ─────────────────────────────────────────────────────────────────────────────
-- LID_TELEFONE_MAP: guarda a associação entre um identificador de privacidade
-- do WhatsApp (@lid) e o telefone real, uma vez que o usuário vincula
-- manualmente pela tela (ComunicacaoView -> "Vincular telefone real").
--
-- Sem isso, cada mensagem NOVA que chegasse sob o mesmo @lid criaria de novo
-- uma conversa "não vinculada", mesmo que aquele mesmo LID já tivesse sido
-- resolvido antes — o vínculo só valia pras mensagens já existentes no
-- momento em que o usuário vinculava, não para as futuras.
-- ─────────────────────────────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS lid_telefone_map (
    tenant_id     UUID NOT NULL,
    lid           TEXT NOT NULL,   -- identificador @lid completo (ex: "lid62604097671268")
    telefone_norm TEXT NOT NULL,   -- telefone real já normalizado (55 + DDD + número)
    criado_em     TIMESTAMPTZ NOT NULL DEFAULT now(),
    PRIMARY KEY (tenant_id, lid)
);

-- +goose StatementEnd

-- +goose Down
-- +goose StatementBegin

DROP TABLE IF EXISTS lid_telefone_map;

-- +goose StatementEnd
