CREATE DATABASE IF NOT EXISTS olug_ofertas
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

USE olug_ofertas;

CREATE TABLE IF NOT EXISTS ml_afiliados_config (
    id INT AUTO_INCREMENT PRIMARY KEY,
    tag_afiliado VARCHAR(100) NOT NULL,
    cookie_criptografado LONGTEXT NOT NULL,
    csrf_token_criptografado TEXT NOT NULL,
    user_agent TEXT NULL,
    request_original LONGTEXT NULL,
    telefone_alerta VARCHAR(30) NULL,
    ativo TINYINT(1) NOT NULL DEFAULT 1,
    autenticacao_expirada TINYINT(1) NOT NULL DEFAULT 0,
    alerta_enviado_em DATETIME NULL,
    ultimo_teste_em DATETIME NULL,
    ultimo_status VARCHAR(50) NULL,
    ultimo_erro TEXT NULL,
    criado_em DATETIME DEFAULT CURRENT_TIMESTAMP,
    atualizado_em DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS leads_whatsapp (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(150) NOT NULL,
    whatsapp VARCHAR(30) NOT NULL,
    email VARCHAR(150) NULL,
    aceitou_termos TINYINT(1) NOT NULL DEFAULT 0,
    origem VARCHAR(100) NULL,
    ip VARCHAR(45) NULL,
    user_agent TEXT NULL,
    status VARCHAR(30) NOT NULL DEFAULT 'ativo',
    criado_em DATETIME DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_whatsapp (whatsapp),
    INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS categorias_cache (
    id INT AUTO_INCREMENT PRIMARY KEY,
    slug VARCHAR(80) NOT NULL UNIQUE,
    nome VARCHAR(150) NOT NULL,
    arquivo_cache VARCHAR(150) NOT NULL,
    search_text VARCHAR(255) NOT NULL DEFAULT '',
    sort_text VARCHAR(80) NOT NULL DEFAULT 'relevance',
    filtro_id VARCHAR(80) NULL,
    filtro_value VARCHAR(80) NULL,
    filtro_name VARCHAR(150) NULL,
    ativo TINYINT(1) NOT NULL DEFAULT 1,
    ordem INT NOT NULL DEFAULT 0,
    criado_em DATETIME DEFAULT CURRENT_TIMESTAMP,
    atualizado_em DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_ativo_ordem (ativo, ordem)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS logs_captura (
    id INT AUTO_INCREMENT PRIMARY KEY,
    categoria_slug VARCHAR(80) NULL,
    status VARCHAR(50) NOT NULL,
    mensagem TEXT NULL,
    total_ofertas INT NOT NULL DEFAULT 0,
    criado_em DATETIME DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_criado_em (criado_em),
    INDEX idx_categoria (categoria_slug)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO categorias_cache
(slug, nome, arquivo_cache, search_text, sort_text, filtro_id, filtro_value, filtro_name, ativo, ordem)
VALUES
('home', 'Todas', 'ofertas-home.json', '', 'relevance', NULL, NULL, NULL, 1, 1),
('games', 'Games', 'ofertas-games.json', '', 'relevance', 'category', 'MLB1144', 'Games', 1, 2),
('celulares', 'Celulares e Telefones', 'ofertas-celulares.json', '', 'relevance', 'category', 'MLB1051', 'Celulares e Telefones', 1, 3),
('informatica', 'Informática', 'ofertas-informatica.json', '', 'relevance', 'category', 'MLB1648', 'Informática', 1, 4),
('eletronicos', 'Eletrônicos, Áudio e Vídeo', 'ofertas-eletronicos.json', '', 'relevance', 'category', 'MLB1000', 'Eletrônicos, Áudio e Vídeo', 1, 5),
('casa', 'Casa, Móveis e Decoração', 'ofertas-casa.json', '', 'relevance', 'category', 'MLB1574', 'Casa, Móveis e Decoração', 1, 6),
('ferramentas', 'Ferramentas', 'ofertas-ferramentas.json', '', 'relevance', 'category', 'MLB263532', 'Ferramentas', 1, 7)
ON DUPLICATE KEY UPDATE
    nome = VALUES(nome),
    arquivo_cache = VALUES(arquivo_cache),
    sort_text = VALUES(sort_text),
    filtro_id = VALUES(filtro_id),
    filtro_value = VALUES(filtro_value),
    filtro_name = VALUES(filtro_name),
    ativo = VALUES(ativo),
    ordem = VALUES(ordem);
