-- ============================================================
--  S.I.N.S.A — Salud Inteligente Nutricional
--  Estructura de tablas dentro de la base SINSA (YA EXISTENTE).
--  NUNCA usar CREATE DATABASE aquí. Solo CREATE TABLE IF NOT EXISTS.
--  Ejecutar:  mysql -u rubik -p SINSA < /var/www/sinsa/db/init.sql
-- ============================================================


-- ------------------------------------------------------------
-- Planes nutricionales — totalmente autoadministrables
-- ------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `sn_planes` (
  `id`            INT AUTO_INCREMENT PRIMARY KEY,
  `nombre`        VARCHAR(140) NOT NULL,
  `descripcion`   TEXT         NULL,
  `precio_ars`    DECIMAL(12,2) NOT NULL DEFAULT 0.00,
  `duracion_dias` INT          NOT NULL DEFAULT 30,
  `contenido_html` LONGTEXT    NULL,
  `material_json` LONGTEXT     NULL,
  `activo`        TINYINT(1)   NOT NULL DEFAULT 1,
  `orden`         INT          NOT NULL DEFAULT 0,
  `created_at`    DATETIME     DEFAULT CURRENT_TIMESTAMP,
  `updated_at`    DATETIME     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  KEY `idx_activo_orden` (`activo`, `orden`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ------------------------------------------------------------
-- Compras de planes (MercadoPago o transferencia)
-- ------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `sn_compras` (
  `id`                 INT AUTO_INCREMENT PRIMARY KEY,
  `usuario_id`         INT NOT NULL,
  `plan_id`            INT NOT NULL,
  `monto_ars`          DECIMAL(12,2) NOT NULL DEFAULT 0.00,
  `estado`             ENUM('pendiente','pagado','cancelado') NOT NULL DEFAULT 'pendiente',
  `metodo_pago`        ENUM('mercadopago','transferencia') NOT NULL DEFAULT 'mercadopago',
  `comprobante_path`   VARCHAR(255) NULL,
  `mp_payment_id`      VARCHAR(60)  NULL,
  `mp_preference_id`   VARCHAR(80)  NULL,
  `nota_admin`         VARCHAR(255) NULL,
  `fecha_acceso_hasta` DATETIME     NULL,
  `created_at`         DATETIME     DEFAULT CURRENT_TIMESTAMP,
  `updated_at`         DATETIME     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  KEY `idx_usuario` (`usuario_id`),
  KEY `idx_plan` (`plan_id`),
  KEY `idx_estado` (`estado`),
  KEY `idx_mp_pref` (`mp_preference_id`),
  CONSTRAINT `fk_compras_usuario` FOREIGN KEY (`usuario_id`) REFERENCES `sn_usuarios`(`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_compras_plan`    FOREIGN KEY (`plan_id`)    REFERENCES `sn_planes`(`id`)   ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ------------------------------------------------------------
-- Galería pública Antes y Después (la carga la admin)
-- ------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `sn_transformaciones` (
  `id`                 INT AUTO_INCREMENT PRIMARY KEY,
  `nombre`             VARCHAR(120) NOT NULL DEFAULT 'Anónimo',
  `foto_antes_path`    VARCHAR(255) NULL,
  `foto_despues_path`  VARCHAR(255) NULL,
  `testimonio`         TEXT         NULL,
  `visible`            TINYINT(1)   NOT NULL DEFAULT 1,
  `orden`              INT          NOT NULL DEFAULT 0,
  `created_at`         DATETIME     DEFAULT CURRENT_TIMESTAMP,
  KEY `idx_visible_orden` (`visible`, `orden`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ------------------------------------------------------------
-- Progreso personal del cliente (privado de cada usuario)
-- ------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `sn_progreso_cliente` (
  `id`         INT AUTO_INCREMENT PRIMARY KEY,
  `usuario_id` INT NOT NULL,
  `foto_path`  VARCHAR(255) NULL,
  `peso`       DECIMAL(6,2) NULL,
  `nota`       TEXT         NULL,
  `fecha`      DATE         NOT NULL,
  `created_at` DATETIME     DEFAULT CURRENT_TIMESTAMP,
  KEY `idx_usuario_fecha` (`usuario_id`, `fecha`),
  CONSTRAINT `fk_progreso_usuario` FOREIGN KEY (`usuario_id`) REFERENCES `sn_usuarios`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ------------------------------------------------------------
-- Configuración de la app (marca, pagos, integraciones)
-- ------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `sn_config` (
  `clave`      VARCHAR(100) PRIMARY KEY,
  `valor`      LONGTEXT,
  `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
--  DATOS INICIALES
-- ============================================================

-- Configuración base — todo editable después desde el panel admin
INSERT IGNORE INTO `sn_config` (`clave`, `valor`) VALUES
  ('app_nombre',            'S.I.N.S.A'),
  ('app_logo',              '/assets/logo.png'),
  ('marca_bio',             'Rosana Peñalba — Técnica en nutrición y coach motivacional. Agente de transformación en personas con obesidad y metabolismo lento. Hace 20 años transformando vidas.'),
  ('marca_filosofia',       'Viví el cambio, no la restricción'),
  ('marca_lema_secundario', 'Permitidos no hay porque no hay prohibidos, solo hay planificación'),
  ('marca_titular',         'Rosana Peñalba'),
  ('marca_email',           ''),
  ('whatsapp_numero',       ''),
  ('whatsapp_mensaje',      'Hola Rosana! Quiero información sobre los planes de S.I.N.S.A.'),
  ('mp_public_key',         ''),
  ('mp_access_token',       ''),
  ('alias_transferencia',   ''),
  ('datos_transferencia',   ''),
  ('resend_api_key',        ''),
  ('mail_from',             'noreply@mails.appr3.cloud'),
  ('moneda',                'ARS'),
  ('timezone',              'America/Argentina/Buenos_Aires'),
  ('og_titulo',             'S.I.N.S.A — Salud Inteligente Nutricional'),
  ('og_descripcion',        'Viví el cambio, no la restricción. Planes nutricionales personalizados con Rosana Peñalba.'),
  ('og_imagen',             '/assets/logo-white.png'),
  ('og_url',                'https://sinsa.appr3.cloud'),
  ('asistente_activo',      '0'),
  ('asistente_nombre',      'SIN'),
  ('asistente_avatar',      ''),
  ('asistente_openai_key',  ''),
  ('asistente_modelo',      'gpt-4o-mini'),
  ('asistente_prompt',      'Sos el asistente de S.I.N.S.A (Salud Inteligente Nutricional), de Rosana Peñalba. Respondés dudas sobre los planes, el método Plan 360 y cómo comprar. Sos cálido, motivador y claro. Nunca das diagnósticos médicos: ante consultas clínicas derivás a Rosana.'),
  ('push_activo',           '0'),
  ('vapid_public',          ''),
  ('vapid_private',         '');

-- Planes de ejemplo (la admin los edita o borra desde el panel)
INSERT IGNORE INTO `sn_planes`
  (`id`, `nombre`, `descripcion`, `precio_ars`, `duracion_dias`, `contenido_html`, `material_json`, `activo`, `orden`)
VALUES
  (1, 'Plan 360 · Inicio',
   'El primer paso del método. Aprendés las bases para ordenar tu alimentación sin restricciones: hidratación, masticación, reloj biológico y armado del día ideal.',
   15000.00, 30,
   '<h2>Plan 360 · Inicio</h2><p>Este es el contenido inicial del plan. Editalo desde el panel de administración.</p><h3>Qué vas a trabajar</h3><ul><li>Hidratación</li><li>Masticación</li><li>Reloj biológico</li><li>Tu día ideal</li></ul>',
   '[]', 1, 1),
  (2, 'Plan 360 · Completo',
   'El método completo Plan 360. Suma porciones, combinaciones de alimentos, bebidas, détox y seguimiento para sostener el cambio en el tiempo.',
   25000.00, 90,
   '<h2>Plan 360 · Completo</h2><p>Este es el contenido inicial del plan. Editalo desde el panel de administración.</p><h3>Qué vas a trabajar</h3><ul><li>Todo lo del Plan Inicio</li><li>Porciones</li><li>Combinaciones de alimentos</li><li>Bebidas</li><li>Détox</li><li>Seguimiento</li></ul>',
   '[]', 1, 2);

-- Transformación de EJEMPLO — oculta (visible=0) para no publicar un testimonio ficticio.
-- La admin la reemplaza por casos reales desde el panel.
INSERT IGNORE INTO `sn_transformaciones`
  (`id`, `nombre`, `foto_antes_path`, `foto_despues_path`, `testimonio`, `visible`, `orden`)
VALUES
  (1, 'Ejemplo — reemplazar por un caso real',
   '/assets/uploads/transformaciones/ejemplo-antes.png',
   '/assets/uploads/transformaciones/ejemplo-despues.png',
   'Este es un registro de ejemplo para que veas cómo se muestra una transformación. Está oculto en la web. Editalo o eliminalo desde el panel y cargá casos reales con la autorización de cada persona.',
   0, 1);

-- ============================================================
--  FASE 2 — contenido del HOME, autoadministrable desde config.
--  Ningún texto del home queda hardcodeado en el frontend.
-- ============================================================
INSERT IGNORE INTO `sn_config` (`clave`, `valor`) VALUES
  ('home_titulo',
   'Tu cambio empieza cuando entendés tu cuerpo'),
  ('home_bajada',
   'Método Plan 360: nutrición inteligente y acompañamiento motivacional para transformar tu salud sin restricciones imposibles. Especialidad en obesidad y metabolismo lento.'),
  ('home_datos_json',
   '[{"num":"+20","txt":"Años acompañando cambios"},{"num":"360°","txt":"Método integral"},{"num":"0","txt":"Alimentos prohibidos"}]'),
  ('home_metodo_json',
   '[{"titulo":"Te escucho","texto":"Arrancamos por tu historia real: tus horarios, tu trabajo, tu familia y lo que ya intentaste. Sin juzgar."},{"titulo":"Armamos tu plan","texto":"Un plan hecho con lo que a vos te gusta comer. Nada de listas imposibles ni alimentos que no vas a comprar."},{"titulo":"Te acompaño","texto":"Seguimiento y motivación durante todo el proceso. Los tropiezos son parte: los usamos para ajustar, no para abandonar."},{"titulo":"Sostenés el cambio","texto":"El objetivo no es bajar rápido, es no volver atrás. Te llevás herramientas para toda la vida."}]'),
  ('home_cta_titulo',
   '¿Empezamos?'),
  ('home_cta_texto',
   'Creá tu cuenta y accedé a los planes. Si tenés dudas, escribime y lo charlamos antes de que decidas.');
