-- Glass broadcast tables (optimized)
CREATE TABLE IF NOT EXISTS glass_broadcast_drafts (
 id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 admin_id BIGINT NOT NULL,
 message_text MEDIUMTEXT NOT NULL,
 temp_title VARCHAR(255) NULL,
 status VARCHAR(20) NOT NULL DEFAULT 'draft',
 created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
 KEY idx_admin_status (admin_id,status),
 KEY idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS glass_broadcast_buttons (
 id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 draft_id BIGINT UNSIGNED NOT NULL,
 title VARCHAR(255) NOT NULL,
 url TEXT NOT NULL,
 position VARCHAR(20) NOT NULL DEFAULT 'bottom_left',
 KEY idx_draft (draft_id),
 UNIQUE KEY uniq_draft_position (draft_id,position)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS glass_broadcast_queue (
 id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 draft_id BIGINT UNSIGNED NOT NULL,
 user_id BIGINT NOT NULL,
 status TINYINT NOT NULL DEFAULT 0,
 sent_at DATETIME NULL,
 UNIQUE KEY uniq_draft_user (draft_id,user_id),
 KEY idx_status_id (status,id),
 KEY idx_draft_status (draft_id,status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
