-- =====================================================================
-- ALTER tb_adm_user — phone_digits pra login por telefone (Ciclo 07.5)
-- Banco: w19_clikil41_eleicao
--
-- Login do f19 aceita email OU telefone. Pra busca eficiente e tolerante
-- a formatação ('+55 (11) 99999-1234' == '5511999991234'), guardamos uma
-- coluna espelho com SÓ dígitos + índice. Aplicação mantém sincronizado
-- em INSERT/UPDATE (MySQL 5.7 não tem GENERATED ALWAYS AS REGEXP_REPLACE,
-- então não usamos virtual column).
--
-- Re-rodadas dão 'Duplicate column' — ignorar.
-- =====================================================================

ALTER TABLE `tb_adm_user`
  ADD COLUMN `adm_user_phone_digits` VARCHAR(20) DEFAULT NULL AFTER `adm_user_whatsapp`,
  ADD INDEX `ix_adm_user_phone_digits` (`adm_user_phone_digits`);

-- Backfill: extrai só dígitos do whatsapp existente (5 REPLACE aninhados
-- cobrem: '+', ' ', '(', ')', '-' — que é tudo que usamos como máscara).
UPDATE `tb_adm_user`
   SET `adm_user_phone_digits` =
       REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
         COALESCE(`adm_user_whatsapp`, ''),
         '+', ''), ' ', ''), '(', ''), ')', ''), '-', '')
 WHERE `adm_user_whatsapp` IS NOT NULL
   AND `adm_user_phone_digits` IS NULL;

-- Seed: setar telefone pro apoiador@cliki.com.br pra testar login por phone.
UPDATE `tb_adm_user`
   SET `adm_user_whatsapp`     = '+55 (11) 98888-1111',
       `adm_user_phone_digits` = '5511988881111'
 WHERE `adm_user_email` = 'apoiador@cliki.com.br';
