-- Ejecuta esto en phpMyAdmin (o usa install.php)
-- IMPORTANTE: ejecuta esto dentro de la BD correcta (por defecto: "encuesta")

CREATE TABLE IF NOT EXISTS respuestas_encuesta (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  -- Columnas históricas (si existían reportes antiguos). Se dejan NULL para permitir preguntas dinámicas.
  calificacion_servicio TINYINT UNSIGNED NULL,
  calificacion_higiene TINYINT UNSIGNED NULL,
  calificacion_atencion_usuario TINYINT UNSIGNED NULL,
  calificacion_atencion_doctores TINYINT UNSIGNED NULL,
  calificacion_atencion_terapeutas TINYINT UNSIGNED NULL,

  -- Sucursal
  sucursal VARCHAR(120) NULL,
  sucursal_id INT UNSIGNED NULL,

  -- Respuestas dinámicas (q[id_pregunta] = 1..5)
  respuestas_json LONGTEXT NULL,
  preguntas_count INT UNSIGNED NOT NULL DEFAULT 0,

  comentario TEXT NULL,
  token_origen VARCHAR(64) NULL,
  hash_ip CHAR(64) NULL,
  agente_usuario VARCHAR(255) NULL,
  fecha_creacion TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id),
  INDEX idx_created_at (fecha_creacion),
  INDEX idx_sucursal_id (sucursal_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS admin_users (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  username VARCHAR(50) NOT NULL,
  password_hash VARCHAR(255) NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id),
  UNIQUE KEY uq_username (username)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS sucursales (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  nombre VARCHAR(120) NOT NULL,
  activo TINYINT(1) NOT NULL DEFAULT 1,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id),
  INDEX idx_activo (activo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS preguntas (
  id_pregunta INT UNSIGNED NOT NULL AUTO_INCREMENT,
  sucursal INT UNSIGNED NOT NULL,
  texto VARCHAR(255) NOT NULL,
  orden INT UNSIGNED NOT NULL DEFAULT 0,
  activa TINYINT(1) NOT NULL DEFAULT 1,
  -- rating: escala 1..5 (default)
  -- choice: opciones en texto (campo "opciones")
  tipo VARCHAR(20) NOT NULL DEFAULT 'rating',
  opciones TEXT NULL,
  PRIMARY KEY (id_pregunta),
  INDEX idx_sucursal (sucursal),
  INDEX idx_activa (activa)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
