-- Migration: trade_in_leads — контактные заявки с результата оценки (issue #2376,
-- sub-issue родителя #1971 "лидогенерация"). Пользователь оставляет телефон на
-- странице результата (или лендинге) с явным согласием на обработку персональных
-- данных. Уведомление (Telegram/email) сюда НЕ входит — нет существующей
-- SMTP/Telegram интеграции в коде (подтверждено), только persist + log;
-- notified_at зарезервирован под будущую доставку.
BEGIN;

CREATE TABLE IF NOT EXISTS trade_in_leads (
  id          uuid        PRIMARY KEY DEFAULT gen_random_uuid(),
  estimate_id uuid        REFERENCES trade_in_estimates(id) ON DELETE SET NULL,
  phone       text        NOT NULL,
  consent     boolean     NOT NULL,
  source      text,                        -- 'result', 'landing'
  user_agent  text,
  created_at  timestamptz NOT NULL DEFAULT now(),
  notified_at timestamptz,                 -- когда/если ушло уведомление (пока не используется)
  CONSTRAINT trade_in_leads_consent_required CHECK (consent IS TRUE)
);

CREATE INDEX IF NOT EXISTS trade_in_leads_created_idx
    ON trade_in_leads (created_at DESC);

CREATE INDEX IF NOT EXISTS trade_in_leads_estimate_idx
    ON trade_in_leads (estimate_id);

COMMENT ON TABLE trade_in_leads IS '#2376 лид с контактом с результата оценки trade-in; notified_at зарезервирован под будущую Telegram/email-интеграцию (не реализована).';

COMMIT;
