CREATE TABLE users (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(120) NOT NULL,
  email VARCHAR(190) NOT NULL UNIQUE,
  password VARCHAR(255) NOT NULL,
  role ENUM('user', 'admin') NOT NULL DEFAULT 'user',
  subscription_status VARCHAR(50) NOT NULL DEFAULT 'inactive',
  subscription_plan VARCHAR(190) NULL,
  subscription_current_period_end DATETIME NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE movies (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(190) NOT NULL,
  description TEXT NULL,
  genre VARCHAR(120) NULL,
  category VARCHAR(120) NULL,
  release_year SMALLINT UNSIGNED NULL,
  duration_minutes SMALLINT UNSIGNED NULL,
  poster_url VARCHAR(500) NULL,
  video_source ENUM('upload', 'external') NOT NULL DEFAULT 'external',
  video_url VARCHAR(500) NOT NULL,
  is_featured TINYINT(1) NOT NULL DEFAULT 0,
  is_published TINYINT(1) NOT NULL DEFAULT 1,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO users (name, email, password, role, subscription_status)
VALUES ('Admin', 'admin@example.com', '$2y$10$mPdFsvXoHDDHLC31Wi1DUuKfUVW3BGDaSZAwsB0NRjz5pWU.dg6jy', 'admin', 'active');

INSERT INTO movies (title, description, genre, category, release_year, duration_minutes, poster_url, video_source, video_url, is_featured, is_published)
VALUES
('Sample Feature', 'Replace this sample with your first uploaded or externally hosted movie.', 'Drama', 'Featured', 2026, 92, 'https://images.unsplash.com/photo-1440404653325-ab127d49abc1?auto=format&fit=crop&w=800&q=80', 'external', 'https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4', 1, 1);
