-- ============================================================
-- DADOS DE TESTE - LMS (Learning Management System)
-- Script COMPLETO: Inserir curso, módulos, aulas E matrícula
-- ============================================================
-- 
-- IMPORTANTE:
-- 1. Execute primeiro a migração: lms_estrutura_completa.sql
-- 2. Este script cria TUDO, incluindo a matrícula de teste
-- 3. Ajuste o usuario_id na linha 23 se necessário
-- 
-- ============================================================

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;

-- ============================================================
-- PASSO 1: DEFINIR USUÁRIO DE TESTE
-- ============================================================
-- Substitua 1 pelo ID do seu usuário de teste, ou deixe como está
-- para usar automaticamente o primeiro usuário do sistema

SET @usuario_teste_id = COALESCE(
    (SELECT id FROM usuarios ORDER BY id LIMIT 1),
    1
);

-- Se preferir definir manualmente, descomente a linha abaixo:
-- SET @usuario_teste_id = 1;

-- ============================================================
-- PASSO 2: INSERIR PRODUTO (CURSO)
-- ============================================================

INSERT INTO `produtos` (
    `usuario_id`,
    `nome`,
    `descricao`,
    `preco_original`,
    `preco_atual`,
    `categoria`,
    `status_produto`,
    `afiliacao_ativa`,
    `data_criacao`
) VALUES (
    @usuario_teste_id,
    'Curso de Desenvolvimento Web Completo',
    'Aprenda desenvolvimento web do zero ao avançado com HTML, CSS, JavaScript, PHP e MySQL. Curso completo com projetos práticos e suporte.',
    497.00,
    297.00,
    'Desenvolvimento',
    'ativo',
    1,
    NOW()
);

SET @produto_id = LAST_INSERT_ID();

-- ============================================================
-- PASSO 3: INSERIR MÓDULOS
-- ============================================================

INSERT INTO `modulos` (`produto_id`, `nome`, `ordem`, `status`) VALUES
(@produto_id, 'Módulo 1: Fundamentos do Desenvolvimento Web', 1, 'ativo'),
(@produto_id, 'Módulo 2: Técnicas Avançadas e Frameworks', 2, 'ativo');

SET @modulo_1_id = (SELECT id FROM modulos WHERE produto_id = @produto_id AND ordem = 1 LIMIT 1);
SET @modulo_2_id = (SELECT id FROM modulos WHERE produto_id = @produto_id AND ordem = 2 LIMIT 1);

-- ============================================================
-- PASSO 4: INSERIR AULAS
-- ============================================================

-- MÓDULO 1: 3 AULAS
INSERT INTO `aulas` (`modulo_id`, `titulo`, `video_url`, `descricao`, `duracao`, `ordem`, `materiais_complementares`) VALUES
(
    @modulo_1_id,
    'Aula 1: Introdução ao HTML e Estrutura Básica',
    'https://www.youtube.com/embed/dQw4w9WgXcQ',
    'Nesta aula inicial, você aprenderá os conceitos fundamentais do HTML, tags básicas e como estruturar uma página web corretamente.',
    '15:30',
    1,
    JSON_ARRAY(
        JSON_OBJECT('nome', 'Material de Apoio - Tags HTML', 'url', 'https://example.com/material1.pdf'),
        JSON_OBJECT('nome', 'Exercícios Práticos', 'url', 'https://example.com/exercicios1.pdf')
    )
),
(
    @modulo_1_id,
    'Aula 2: CSS Básico e Estilização',
    'https://www.youtube.com/embed/jNQXAC9IVRw',
    'Aprenda a estilizar suas páginas com CSS. Vamos explorar seletores, propriedades de estilo, cores, fontes e layout básico.',
    '22:15',
    2,
    JSON_ARRAY(
        JSON_OBJECT('nome', 'Guia de Cores CSS', 'url', 'https://example.com/cores.pdf'),
        JSON_OBJECT('nome', 'Template de Layout', 'url', 'https://example.com/template.zip')
    )
),
(
    @modulo_1_id,
    'Aula 3: JavaScript Fundamentos e Lógica',
    'https://www.youtube.com/embed/6q-mpQGSWdk',
    'Introdução ao JavaScript: variáveis, funções, condicionais, loops e manipulação do DOM.',
    '28:45',
    3,
    JSON_ARRAY(
        JSON_OBJECT('nome', 'Referência Rápida JavaScript', 'url', 'https://example.com/js-ref.pdf')
    )
);

-- MÓDULO 2: 2 AULAS
INSERT INTO `aulas` (`modulo_id`, `titulo`, `video_url`, `descricao`, `duracao`, `ordem`, `materiais_complementares`) VALUES
(
    @modulo_2_id,
    'Aula 4: PHP e Backend Básico',
    'https://www.youtube.com/embed/o1eHKf-vMqI',
    'Entenda como funciona o backend com PHP. Vamos criar nossos primeiros scripts server-side, trabalhar com formulários e processar dados.',
    '35:20',
    1,
    JSON_ARRAY(
        JSON_OBJECT('nome', 'Documentação PHP', 'url', 'https://example.com/php-docs.pdf'),
        JSON_OBJECT('nome', 'Scripts de Exemplo', 'url', 'https://example.com/scripts.zip')
    )
),
(
    @modulo_2_id,
    'Aula 5: Projeto Final - Criando um Sistema Completo',
    'https://www.youtube.com/embed/9bZkp7q19f0',
    'Vamos colocar tudo em prática criando um sistema completo do zero. Este projeto final integra HTML, CSS, JavaScript e PHP com banco de dados MySQL.',
    '45:00',
    2,
    JSON_ARRAY(
        JSON_OBJECT('nome', 'Especificações do Projeto', 'url', 'https://example.com/projeto.pdf'),
        JSON_OBJECT('nome', 'Código Fonte Completo', 'url', 'https://example.com/codigo.zip'),
        JSON_OBJECT('nome', 'Banco de Dados SQL', 'url', 'https://example.com/database.sql')
    )
);

-- ============================================================
-- PASSO 5: CRIAR MATRÍCULA DE TESTE (VITALÍCIA)
-- ============================================================

INSERT INTO `matriculas` (
    `usuario_id`,
    `produto_id`,
    `data_inicio`,
    `data_expiracao`,
    `status`
) VALUES (
    @usuario_teste_id,
    @produto_id,
    NOW(),
    NULL, -- Acesso vitalício
    'ativo'
);

COMMIT;

-- ============================================================
-- VERIFICAÇÃO RÁPIDA
-- ============================================================

SELECT 
    'Produto criado' as tipo,
    @produto_id as id,
    (SELECT nome FROM produtos WHERE id = @produto_id) as nome
UNION ALL
SELECT 
    'Módulos criados' as tipo,
    COUNT(*) as id,
    NULL as nome
FROM modulos WHERE produto_id = @produto_id
UNION ALL
SELECT 
    'Aulas criadas' as tipo,
    COUNT(*) as id,
    NULL as nome
FROM aulas a
INNER JOIN modulos m ON m.id = a.modulo_id
WHERE m.produto_id = @produto_id
UNION ALL
SELECT 
    'Matrícula criada' as tipo,
    COUNT(*) as id,
    NULL as nome
FROM matriculas WHERE produto_id = @produto_id AND usuario_id = @usuario_teste_id;

-- ============================================================
-- URL PARA TESTAR:
-- ============================================================
-- /dashboard/pages_usuario/curso_player.php?produto_id=@produto_id
-- 
-- Para descobrir o produto_id inserido, execute:
-- SELECT id, nome FROM produtos ORDER BY id DESC LIMIT 1;
-- ============================================================





