-- =========================================================
-- RuletaFullConPIN — Esquema de Base de Datos
-- =========================================================
-- Ejecutar este script en MySQL/MariaDB para crear la
-- estructura necesaria antes de usar la aplicación.
-- =========================================================

CREATE DATABASE IF NOT EXISTS ruleta_db
  CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE ruleta_db;

-- ---------------------------------------------------------
-- 1. Control de giros global (un único registro, id = 1)
-- ---------------------------------------------------------
CREATE TABLE IF NOT EXISTS girospermitidos (
  id       INT PRIMARY KEY,
  cantidad INT NOT NULL
);

INSERT INTO girospermitidos (id, cantidad)
  VALUES (1, 100000)  -- Ajusta el cupo según la campaña
ON DUPLICATE KEY UPDATE cantidad = VALUES(cantidad);

-- ---------------------------------------------------------
-- 2. Premios disponibles (vinculados a un PIN / usuario)
-- ---------------------------------------------------------
CREATE TABLE IF NOT EXISTS premiosnew (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  nombre          VARCHAR(190)    NOT NULL,   -- Nombre del premio a mostrar
  probabilidad    DECIMAL(10,6)   NOT NULL,   -- Peso relativo (0..1 o cualquier peso)
  cantidad        INT             NOT NULL,   -- Stock disponible
  inicio          INT             NOT NULL,   -- Ángulo inicial en la ruleta (0-360)
  final           INT             NOT NULL,   -- Ángulo final en la ruleta (0-360)
  nombre_usuario  VARCHAR(64)     NOT NULL    -- PIN que puede ganar este premio
);

-- ---------------------------------------------------------
-- 3. Registro de premios entregados (auditoría)
-- ---------------------------------------------------------
CREATE TABLE IF NOT EXISTS premiosentregados (
  id              BIGINT AUTO_INCREMENT PRIMARY KEY,
  nombre_usuario  VARCHAR(64)  NOT NULL,      -- PIN usado
  premio          VARCHAR(190) NOT NULL,      -- Nombre del premio ganado
  ip_address      VARCHAR(64)  NULL,
  user_agent      VARCHAR(255) NULL,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- ---------------------------------------------------------
-- Ejemplo: Cargar un premio para el PIN "1989"
-- ---------------------------------------------------------
-- INSERT INTO premiosnew (nombre, probabilidad, cantidad, inicio, final, nombre_usuario)
-- VALUES ('Gorra', 1.0, 10, 0, 45, '1989');
