-- SQL para criação do banco de dados e tabelas do projeto Chocolate Estilo Dubai

-- 1. Tabela de Alunos (Leads)
CREATE TABLE IF NOT EXISTS aluno (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    whatsapp VARCHAR(20) NOT NULL,
    utm_source VARCHAR(100),
    utm_medium VARCHAR(100),
    utm_campaign VARCHAR(100),
    data_cadastro TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 2. Tabela de Compras (Pedidos)
-- Relaciona cada compra a um aluno e armazena o status vindo da InfinitePay
CREATE TABLE IF NOT EXISTS compras (
    id INT AUTO_INCREMENT PRIMARY KEY,
    aluno_id INT NOT NULL,
    order_nsu VARCHAR(50) NOT NULL UNIQUE, -- Identificador único do pedido que enviamos/recebemos
    valor_centavos INT NOT NULL DEFAULT 1000,
    status VARCHAR(50) DEFAULT 'pending', -- pending, approved, paid, failed
    data_criacao TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    data_pagamento TIMESTAMP NULL,
    FOREIGN KEY (aluno_id) REFERENCES aluno(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 3. Tabela de Logs (Auditoria de sistema e webhooks)
CREATE TABLE IF NOT EXISTS logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    order_nsu VARCHAR(50),
    evento VARCHAR(100), -- Ex: 'webhook_received', 'api_request', 'payment_success'
    payload TEXT, -- Conteúdo bruto do JSON recebido ou enviado
    data_log TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 4. Tabela de Interesse (Produtos Adicionais)
-- Importante para saber quem clicou em "Tenho Interesse" na página de obrigado
CREATE TABLE IF NOT EXISTS interesses (
    id INT AUTO_INCREMENT PRIMARY KEY,
    aluno_id INT NOT NULL,
    produto_nome VARCHAR(255) NOT NULL,
    data_interesse TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (aluno_id) REFERENCES aluno(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
