-- =========================================================
-- دیتابیس ربات دانلود تلگرام
-- قبل از اجرا، یک دیتابیس با انکودینگ utf8mb4 بسازید:
-- CREATE DATABASE telegram_bot CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- =========================================================

CREATE TABLE IF NOT EXISTS `settings` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `setting_key` VARCHAR(100) NOT NULL,
  `setting_value` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_key` (`setting_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `admins` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(60) NOT NULL,
  `password_hash` VARCHAR(255) NOT NULL,
  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `users` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `telegram_id` BIGINT NOT NULL,
  `first_name` VARCHAR(255) NULL,
  `username` VARCHAR(255) NULL,
  -- state: کاربر در چه مرحله‌ای از گفتگو با ربات است (مثلا منتظر لینک اینستاگرام)
  `state` VARCHAR(50) NOT NULL DEFAULT 'idle',
  `is_blocked` TINYINT(1) NOT NULL DEFAULT 0,
  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_telegram_id` (`telegram_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `downloads_log` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` INT UNSIGNED NOT NULL,
  `platform` VARCHAR(30) NOT NULL DEFAULT 'instagram',
  `link` TEXT NOT NULL,
  `media_type` VARCHAR(30) NULL, -- video/photo/reel/story/carousel
  `status` VARCHAR(20) NOT NULL DEFAULT 'pending', -- pending/success/failed
  `error_message` TEXT NULL,
  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- تنظیمات پیش‌فرض
INSERT INTO `settings` (`setting_key`, `setting_value`) VALUES
('bot_token', ''),
('webhook_secret', ''),
('rapidapi_key', ''),
('rapidapi_host', 'instagram-downloader-download-videos-stories-reels.p.rapidapi.com'),
('welcome_message', 'سلام 👋 خوش اومدی!\nیکی از گزینه‌های زیر رو انتخاب کن:'),
('instagram_prompt', 'لطفا لینک مدنظر را ارسال کنید 🔗'),
('soon_message', 'بزودی، اکنون در دسترس نمی‌باشد ⏳'),
('bot_enabled', '1')
ON DUPLICATE KEY UPDATE setting_key = setting_key;

-- توجه: هیچ ادمین پیش‌فرضی اینجا ساخته نمی‌شود.
-- بعد از ایمپورت این فایل، فایل admin/install.php را در مرورگر باز کنید
-- تا اولین حساب ادمین را با یوزرنیم/پسورد دلخواه بسازید (این فایل بعد از استفاده باید حذف شود).
