-- Create the main database
CREATE DATABASE IF NOT EXISTS manatums_rsvp1
  CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

USE manatums_rsvp1;

-- =====================================
-- TABLE: email_queue
-- =====================================
CREATE TABLE IF NOT EXISTS email_queue (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  
  -- recipient info
  recipient_email VARCHAR(255) NOT NULL,
  
  -- email content
  message_body LONGTEXT NOT NULL,
  attachments JSON DEFAULT NULL,
  
  -- event info (optional)
  event_title VARCHAR(255) DEFAULT NULL,
  event_desc TEXT DEFAULT NULL,
  event_start DATETIME DEFAULT NULL,
  event_end DATETIME DEFAULT NULL,
  event_loc VARCHAR(255) DEFAULT NULL,
  
  -- sender info
  organizer VARCHAR(255) DEFAULT NULL,
  from_name VARCHAR(255) DEFAULT 'Event Manager',
  
  -- SMTP configuration
  smtp_host VARCHAR(255) NOT NULL,
  smtp_port INT DEFAULT 587,
  smtp_secure ENUM('tls','ssl','none') DEFAULT 'tls',
  smtp_user VARCHAR(255) NOT NULL,
  smtp_pass VARCHAR(255) NOT NULL,
  
  -- queue control
  status ENUM('pending','processing','sent','failed') DEFAULT 'pending',
  attempts TINYINT UNSIGNED DEFAULT 0,
  last_error TEXT DEFAULT NULL,
  
  -- timestamps
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  sent_at TIMESTAMP NULL DEFAULT NULL,
  
  PRIMARY KEY (id),
  INDEX (status),
  INDEX (recipient_email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- =====================================
-- TABLE: email_logs
-- (Optional – helps you monitor sends)
-- =====================================
CREATE TABLE IF NOT EXISTS email_logs (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  email_id INT UNSIGNED NOT NULL,
  recipient_email VARCHAR(255) NOT NULL,
  status ENUM('queued','sent','failed') DEFAULT 'queued',
  error_message TEXT DEFAULT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id),
  FOREIGN KEY (email_id) REFERENCES email_queue(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- =====================================
-- TABLE: smtp_profiles
-- (Optional – if you want to reuse SMTP settings)
-- =====================================
CREATE TABLE IF NOT EXISTS smtp_profiles (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  profile_name VARCHAR(100) NOT NULL,
  smtp_host VARCHAR(255) NOT NULL,
  smtp_port INT DEFAULT 587,
  smtp_secure ENUM('tls','ssl','none') DEFAULT 'tls',
  smtp_user VARCHAR(255) NOT NULL,
  smtp_pass VARCHAR(255) NOT NULL,
  from_name VARCHAR(255) DEFAULT NULL,
  organizer VARCHAR(255) DEFAULT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;