-- ============================================================
-- DADOS DE TESTE - LMS (Learning Management System)
-- Script para inserir curso, módulos e aulas de teste
-- ============================================================
-- 
-- IMPORTANTE:
-- 1. Execute primeiro a migração: lms_estrutura_completa.sql
-- 2. Este script assume que existe pelo menos 1 usuário no sistema
-- 3. Ajuste o usuario_id abaixo se necessário
-- 
-- ============================================================

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

-- ============================================================
-- PASSO 1: BUSCAR PRIMEIRO USUÁRIO DO SISTEMA (ou usar ID 1)
-- ============================================================
-- Se você souber o ID do usuário que será o "dono" do curso, substitua abaixo
-- Por padrão, vamos usar o primeiro usuário encontrado ou ID 1

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

-- Se não houver usuários, use ID 1 (criar manualmente se necessário)
-- SET @usuario_teste_id = 1;

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

INSERT INTO `produtos` (
    `usuario_id`,
    `nome`,
    `descricao`,
    `imagem`,
    `preco_original`,
    `preco_atual`,
    `categoria`,
    `link_pagamento`,
    `link_entregavel`,
    `checkout_background_color`,
    `checkout_card_background`,
    `checkout_main_card_background`,
    `checkout_text_color`,
    `is_marketplace`,
    `status_produto`,
    `afiliacao_ativa`,
    `data_criacao`,
    `data_atualizacao`
) 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.',
    NULL, -- Imagem (pode adicionar depois)
    497.00,
    297.00,
    'Desenvolvimento',
    NULL, -- link_pagamento (será gerado depois)
    NULL, -- link_entregavel
    '#0f0c29',
    '#151525',
    '#1a1a2e',
    '#ffffff',
    0, -- Não aparece no marketplace
    'ativo',
    1, -- Aceita afiliados
    NOW(),
    NOW()
);

-- Guardar o ID do produto inserido
SET @produto_id = LAST_INSERT_ID();

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

-- MÓDULO 1: Fundamentos
INSERT INTO `modulos` (
    `produto_id`,
    `nome`,
    `ordem`,
    `status`,
    `created_at`,
    `updated_at`
) VALUES (
    @produto_id,
    'Módulo 1: Fundamentos do Desenvolvimento Web',
    1,
    'ativo',
    NOW(),
    NOW()
);

SET @modulo_1_id = LAST_INSERT_ID();

-- MÓDULO 2: Técnicas Avançadas
INSERT INTO `modulos` (
    `produto_id`,
    `nome`,
    `ordem`,
    `status`,
    `created_at`,
    `updated_at`
) VALUES (
    @produto_id,
    'Módulo 2: Técnicas Avançadas e Frameworks',
    2,
    'ativo',
    NOW(),
    NOW()
);

SET @modulo_2_id = LAST_INSERT_ID();

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

-- AULAS DO MÓDULO 1 (3 aulas)
INSERT INTO `aulas` (
    `modulo_id`,
    `titulo`,
    `video_url`,
    `descricao`,
    `duracao`,
    `ordem`,
    `materiais_complementares`,
    `created_at`,
    `updated_at`
) VALUES (
    @modulo_1_id,
    'Aula 1: Introdução ao HTML e Estrutura Básica',
    'https://www.youtube.com/embed/dQw4w9WgXcQ', -- Exemplo YouTube (substitua por vídeo real)
    'Nesta aula inicial, você aprenderá os conceitos fundamentais do HTML, tags básicas e como estruturar uma página web corretamente. Vamos criar nosso primeiro documento HTML e entender a semântica web.',
    '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')
    ),
    NOW(),
    NOW()
),
(
    @modulo_1_id,
    'Aula 2: CSS Básico e Estilização',
    'https://www.youtube.com/embed/jNQXAC9IVRw', -- Exemplo YouTube (substitua por vídeo real)
    'Aprenda a estilizar suas páginas com CSS. Vamos explorar seletores, propriedades de estilo, cores, fontes e layout básico. Você criará páginas visualmente atraentes.',
    '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')
    ),
    NOW(),
    NOW()
),
(
    @modulo_1_id,
    'Aula 3: JavaScript Fundamentos e Lógica',
    'https://www.youtube.com/embed/6q-mpQGSWdk', -- Exemplo YouTube (substitua por vídeo real)
    'Introdução ao JavaScript: variáveis, funções, condicionais, loops e manipulação do DOM. Você começará a criar interatividade nas suas páginas web.',
    '28:45',
    3,
    JSON_ARRAY(
        JSON_OBJECT('nome', 'Referência Rápida JavaScript', 'url', 'https://example.com/js-ref.pdf')
    ),
    NOW(),
    NOW()
);

-- AULAS DO MÓDULO 2 (2 aulas)
INSERT INTO `aulas` (
    `modulo_id`,
    `titulo`,
    `video_url`,
    `descricao`,
    `duracao`,
    `ordem`,
    `materiais_complementares`,
    `created_at`,
    `updated_at`
) VALUES (
    @modulo_2_id,
    'Aula 4: PHP e Backend Básico',
    'https://www.youtube.com/embed/o1eHKf-vMqI', -- Exemplo YouTube (substitua por vídeo real)
    'Entenda como funciona o backend com PHP. Vamos criar nossos primeiros scripts server-side, trabalhar com formulários e processar dados. Introdução a bancos de 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')
    ),
    NOW(),
    NOW()
),
(
    @modulo_2_id,
    'Aula 5: Projeto Final - Criando um Sistema Completo',
    'https://www.youtube.com/embed/9bZkp7q19f0', -- Exemplo YouTube (substitua por vídeo real)
    '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. Você terá um portfólio profissional ao final.',
    '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')
    ),
    NOW(),
    NOW()
);

-- ============================================================
-- PASSO 5: CRIAR MATRÍCULA DE TESTE (OPCIONAL)
-- ============================================================
-- Descomente as linhas abaixo se quiser criar uma matrícula automática
-- para o usuário de teste poder acessar o curso imediatamente

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

-- ============================================================
-- RESUMO DO QUE FOI INSERIDO
-- ============================================================
-- 
-- Produto ID: @produto_id
-- Módulo 1 ID: @modulo_1_id (3 aulas)
-- Módulo 2 ID: @modulo_2_id (2 aulas)
-- Total: 5 aulas
-- 
-- Para testar, acesse:
-- /dashboard/pages_usuario/curso_player.php?produto_id=@produto_id
-- 
-- ============================================================

COMMIT;

-- ============================================================
-- CONSULTA PARA VERIFICAR OS DADOS INSERIDOS
-- ============================================================
-- Execute estas queries para verificar se tudo foi inserido corretamente:

/*
-- Ver o produto criado
SELECT * FROM produtos WHERE id = @produto_id;

-- Ver os módulos
SELECT * FROM modulos WHERE produto_id = @produto_id ORDER BY ordem;

-- Ver todas as aulas
SELECT 
    a.id,
    a.titulo,
    a.duracao,
    a.ordem,
    m.nome as modulo_nome,
    m.ordem as modulo_ordem
FROM aulas a
INNER JOIN modulos m ON m.id = a.modulo_id
WHERE m.produto_id = @produto_id
ORDER BY m.ordem, a.ordem;

-- Contar aulas por módulo
SELECT 
    m.nome,
    COUNT(a.id) as total_aulas
FROM modulos m
LEFT JOIN aulas a ON a.modulo_id = m.id
WHERE m.produto_id = @produto_id
GROUP BY m.id, m.nome
ORDER BY m.ordem;
*/





