-- Estructura de la base de datos para Maxi Sex Shop

-- Tabla de categorías
CREATE TABLE IF NOT EXISTS categories (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL UNIQUE,
  icon VARCHAR(50),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabla de productos
CREATE TABLE IF NOT EXISTS products (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  description TEXT NOT NULL,
  price DECIMAL(10,2) NOT NULL,
  category VARCHAR(100),
  image_url VARCHAR(255),
  available BOOLEAN DEFAULT true,
  stock INT NOT NULL DEFAULT 0,
  popularity INT DEFAULT 0,
  discount_percent INT DEFAULT 0,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tabla de configuración del sitio
CREATE TABLE IF NOT EXISTS site_settings (
  id INT PRIMARY KEY AUTO_INCREMENT,
  site_name VARCHAR(255) NOT NULL DEFAULT 'Maxi Sex Shop',
  description VARCHAR(255) NOT NULL DEFAULT 'Mundo de Fantasía',
  primary_color VARCHAR(50) NOT NULL DEFAULT '#FF3396',
  secondary_color VARCHAR(50) NOT NULL DEFAULT '#FF6D8A',
  logo_url VARCHAR(255) DEFAULT '/images/maxisexshop-logo.png',
  contact_phone VARCHAR(50),
  contact_email VARCHAR(255),
  address TEXT,
  opening_hours TEXT,
  isOpen BOOLEAN DEFAULT true,
  whatsapp_number VARCHAR(50),
  socialMedia JSON,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tabla de banners para el slider rotativo
CREATE TABLE IF NOT EXISTS banners (
  id INT PRIMARY KEY AUTO_INCREMENT,
  title VARCHAR(100) NOT NULL,
  description TEXT,
  image_url VARCHAR(255) NOT NULL,
  link VARCHAR(255),
  is_active BOOLEAN DEFAULT true,
  position INT DEFAULT 0,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tabla de usuarios administradores
CREATE TABLE IF NOT EXISTS admin_users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(50) NOT NULL UNIQUE,
  password_hash VARCHAR(255) NOT NULL,
  last_login TIMESTAMP,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabla de publicidad emergente
CREATE TABLE IF NOT EXISTS ad_popups (
  id INT PRIMARY KEY AUTO_INCREMENT,
  title VARCHAR(100) NOT NULL,
  description TEXT,
  imageUrl VARCHAR(255) NOT NULL,
  link VARCHAR(255),
  isActive BOOLEAN DEFAULT true,
  showDelay INT DEFAULT 2000,
  displayDuration INT DEFAULT 0,
  showOncePerSession BOOLEAN DEFAULT true,
  animationIn VARCHAR(50) DEFAULT 'fade',
  animationOut VARCHAR(50) DEFAULT 'fade',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
); 