-- =====================================================
-- SEED DATA - Schema Education (EJEMPLO)
-- =====================================================
-- Proyecto: OrbiQuant IA (Trading Platform)
-- Módulo: OQI-002 - Education
-- Especificación: ET-EDU-001-database.md
-- =====================================================
-- NOTA: Este es un archivo de ejemplo.
-- Los datos reales deben ir en /apps/database/seeds/
-- =====================================================

BEGIN;

-- =====================================================
-- 1. CATEGORIES
-- =====================================================

INSERT INTO education.categories (id, name, slug, description, color, display_order, is_active) VALUES
('11111111-1111-1111-1111-111111111111', 'Trading Básico', 'trading-basico', 'Fundamentos del trading y mercados financieros', '#3B82F6', 1, true),
('22222222-2222-2222-2222-222222222222', 'Análisis Técnico', 'analisis-tecnico', 'Herramientas y técnicas de análisis técnico', '#10B981', 2, true),
('33333333-3333-3333-3333-333333333333', 'Análisis Fundamental', 'analisis-fundamental', 'Evaluación fundamental de activos', '#F59E0B', 3, true),
('44444444-4444-4444-4444-444444444444', 'Gestión de Riesgo', 'gestion-riesgo', 'Estrategias de gestión de riesgo y capital', '#EF4444', 4, true),
('55555555-5555-5555-5555-555555555555', 'Trading Algorítmico', 'trading-algoritmico', 'Automatización y estrategias algorítmicas', '#8B5CF6', 5, true),
('66666666-6666-6666-6666-666666666666', 'Psicología del Trading', 'psicologia-trading', 'Aspectos psicológicos y emocionales del trading', '#EC4899', 6, true);

-- =====================================================
-- 2. COURSES
-- =====================================================
-- NOTA: instructor_id debe existir en auth.users
-- Para este ejemplo, usar un UUID válido de tu sistema

INSERT INTO education.courses (
  id,
  title,
  slug,
  short_description,
  full_description,
  category_id,
  difficulty_level,
  instructor_id,
  instructor_name,
  is_free,
  xp_reward,
  status,
  published_at,
  total_modules,
  total_lessons
) VALUES
(
  'c1111111-1111-1111-1111-111111111111',
  'Introducción al Trading',
  'introduccion-trading',
  'Aprende los conceptos básicos del trading desde cero',
  'Este curso te enseñará los fundamentos del trading, incluyendo tipos de mercados, instrumentos financieros, y cómo realizar tus primeras operaciones de forma segura.',
  '11111111-1111-1111-1111-111111111111',
  'beginner',
  '00000000-0000-0000-0000-000000000001', -- Reemplazar con ID real
  'Instructor Demo',
  true,
  500,
  'published',
  NOW(),
  3,
  12
);

-- =====================================================
-- 3. MODULES
-- =====================================================

INSERT INTO education.modules (id, course_id, title, description, display_order, duration_minutes) VALUES
('m1111111-1111-1111-1111-111111111111', 'c1111111-1111-1111-1111-111111111111', 'Módulo 1: Fundamentos', 'Conceptos básicos del trading', 1, 120),
('m2222222-2222-2222-2222-222222222222', 'c1111111-1111-1111-1111-111111111111', 'Módulo 2: Mercados Financieros', 'Tipos de mercados y activos', 2, 180),
('m3333333-3333-3333-3333-333333333333', 'c1111111-1111-1111-1111-111111111111', 'Módulo 3: Primeros Pasos', 'Cómo empezar a operar', 3, 150);

-- =====================================================
-- 4. LESSONS
-- =====================================================

INSERT INTO education.lessons (
  id,
  module_id,
  title,
  description,
  content_type,
  video_url,
  video_duration_seconds,
  display_order,
  is_preview,
  xp_reward
) VALUES
(
  'l1111111-1111-1111-1111-111111111111',
  'm1111111-1111-1111-1111-111111111111',
  '¿Qué es el Trading?',
  'Introducción a los conceptos básicos del trading',
  'video',
  'https://example.com/videos/lesson-1.mp4',
  900,
  1,
  true,
  10
),
(
  'l2222222-2222-2222-2222-222222222222',
  'm1111111-1111-1111-1111-111111111111',
  'Tipos de Traders',
  'Conoce los diferentes estilos de trading',
  'video',
  'https://example.com/videos/lesson-2.mp4',
  1200,
  2,
  false,
  10
),
(
  'l3333333-3333-3333-3333-333333333333',
  'm1111111-1111-1111-1111-111111111111',
  'Terminología Básica',
  'Vocabulario esencial del trading',
  'article',
  NULL,
  NULL,
  3,
  false,
  15
);

-- =====================================================
-- 5. QUIZZES
-- =====================================================

INSERT INTO education.quizzes (
  id,
  module_id,
  title,
  description,
  passing_score_percentage,
  max_attempts,
  xp_reward,
  xp_perfect_score_bonus
) VALUES
(
  'q1111111-1111-1111-1111-111111111111',
  'm1111111-1111-1111-1111-111111111111',
  'Quiz: Fundamentos del Trading',
  'Evalúa tus conocimientos sobre los conceptos básicos',
  70,
  3,
  50,
  20
);

-- =====================================================
-- 6. QUIZ QUESTIONS
-- =====================================================

INSERT INTO education.quiz_questions (
  id,
  quiz_id,
  question_text,
  question_type,
  options,
  explanation,
  points,
  display_order
) VALUES
(
  'qq111111-1111-1111-1111-111111111111',
  'q1111111-1111-1111-1111-111111111111',
  '¿Qué es el trading?',
  'multiple_choice',
  '[
    {"id": "a", "text": "Comprar y vender activos financieros", "isCorrect": true},
    {"id": "b", "text": "Solo comprar acciones", "isCorrect": false},
    {"id": "c", "text": "Invertir a largo plazo únicamente", "isCorrect": false},
    {"id": "d", "text": "Ahorrar dinero en un banco", "isCorrect": false}
  ]'::jsonb,
  'El trading implica la compra y venta de activos financieros con el objetivo de obtener ganancias a corto o mediano plazo.',
  1,
  1
),
(
  'qq222222-2222-2222-2222-222222222222',
  'q1111111-1111-1111-1111-111111111111',
  '¿El trading es una actividad de riesgo?',
  'true_false',
  '[
    {"id": "true", "text": "Verdadero", "isCorrect": true},
    {"id": "false", "text": "Falso", "isCorrect": false}
  ]'::jsonb,
  'Sí, el trading es una actividad que conlleva riesgos y es posible perder dinero. Por eso es importante la gestión de riesgo.',
  1,
  2
);

-- =====================================================
-- EJEMPLO DE USO - ENROLLMENTS
-- =====================================================
-- NOTA: Estos son ejemplos comentados. NO ejecutar sin IDs reales.

/*
-- Enrollar un usuario a un curso
INSERT INTO education.enrollments (user_id, course_id, total_lessons)
VALUES (
  '00000000-0000-0000-0000-000000000001', -- ID del usuario
  'c1111111-1111-1111-1111-111111111111', -- ID del curso
  12 -- Total de lecciones del curso
);

-- Registrar progreso en una lección
INSERT INTO education.progress (
  user_id,
  lesson_id,
  enrollment_id,
  is_completed,
  watch_percentage
) VALUES (
  '00000000-0000-0000-0000-000000000001',
  'l1111111-1111-1111-1111-111111111111',
  '<enrollment-id>',
  true,
  100.00
);
*/

COMMIT;

-- =====================================================
-- Verificación
-- =====================================================

SELECT 'Categories created:' as info, COUNT(*) as count FROM education.categories;
SELECT 'Courses created:' as info, COUNT(*) as count FROM education.courses;
SELECT 'Modules created:' as info, COUNT(*) as count FROM education.modules;
SELECT 'Lessons created:' as info, COUNT(*) as count FROM education.lessons;
SELECT 'Quizzes created:' as info, COUNT(*) as count FROM education.quizzes;
SELECT 'Questions created:' as info, COUNT(*) as count FROM education.quiz_questions;
