-- ============================================================
-- ROCKET VPN Bot - MySQL Database Schema
-- Converted from Cloudflare D1 (SQLite) to MySQL
-- ============================================================

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- Drop existing tables
DROP TABLE IF EXISTS `users`;
DROP TABLE IF EXISTS `settings`;
DROP TABLE IF EXISTS `states`;
DROP TABLE IF EXISTS `service_categories`;
DROP TABLE IF EXISTS `app_platforms`;
DROP TABLE IF EXISTS `platform_apps`;
DROP TABLE IF EXISTS `platform_tutorials`;
DROP TABLE IF EXISTS `plans`;
DROP TABLE IF EXISTS `orders`;
DROP TABLE IF EXISTS `services`;
DROP TABLE IF EXISTS `wallet_transactions`;
DROP TABLE IF EXISTS `manual_stock`;
DROP TABLE IF EXISTS `topup_requests`;
DROP TABLE IF EXISTS `support_tickets`;
DROP TABLE IF EXISTS `gift_codes`;
DROP TABLE IF EXISTS `gift_uses`;
DROP TABLE IF EXISTS `discount_codes`;
DROP TABLE IF EXISTS `discount_uses`;
DROP TABLE IF EXISTS `payments`;

SET FOREIGN_KEY_CHECKS = 1;

-- ============================================================
-- Core Tables
-- ============================================================

CREATE TABLE `users` (
  `telegram_id` VARCHAR(50) NOT NULL,
  `username` VARCHAR(255) DEFAULT '',
  `first_name` VARCHAR(255) DEFAULT '',
  `last_name` VARCHAR(255) DEFAULT '',
  `balance` INT(11) DEFAULT 0,
  `is_banned` TINYINT(1) DEFAULT 0,
  `joined_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `last_seen` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`telegram_id`),
  KEY `idx_banned` (`is_banned`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `settings` (
  `key` VARCHAR(255) NOT NULL,
  `value` TEXT DEFAULT NULL,
  `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `states` (
  `user_id` VARCHAR(50) NOT NULL,
  `scope` VARCHAR(50) NOT NULL,
  `data_json` JSON DEFAULT NULL,
  `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_id`, `scope`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- Platform & Content
-- ============================================================

CREATE TABLE `service_categories` (
  `id` VARCHAR(50) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `emoji` VARCHAR(10) DEFAULT '',
  `sort_order` INT(11) DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_active_sort` (`active`, `sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `app_platforms` (
  `id` VARCHAR(50) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `emoji` VARCHAR(10) DEFAULT '',
  `content` TEXT DEFAULT NULL,
  `sort_order` INT(11) DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_active_sort` (`active`, `sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `platform_apps` (
  `id` VARCHAR(50) NOT NULL,
  `platform_id` VARCHAR(50) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `url` TEXT NOT NULL,
  `is_recommended` TINYINT(1) DEFAULT 0,
  `sort_order` INT(11) DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_platform` (`platform_id`),
  KEY `idx_active_sort` (`active`, `sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `platform_tutorials` (
  `id` VARCHAR(50) NOT NULL,
  `platform_id` VARCHAR(50) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `content` TEXT NOT NULL,
  `sort_order` INT(11) DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_platform` (`platform_id`),
  KEY `idx_active_sort` (`active`, `sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- Sales
-- ============================================================

CREATE TABLE `plans` (
  `id` VARCHAR(50) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `gb` INT(11) NOT NULL DEFAULT 0,
  `price` INT(11) NOT NULL DEFAULT 0,
  `sort_order` INT(11) DEFAULT 0,
  `recommended` TINYINT(1) DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `category_id` VARCHAR(50) DEFAULT 'multi_location',
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_category` (`category_id`),
  KEY `idx_active_sort` (`active`, `sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `orders` (
  `id` VARCHAR(50) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `plan_id` VARCHAR(50) NOT NULL,
  `plan_title` VARCHAR(255) NOT NULL,
  `gb` INT(11) DEFAULT 0,
  `price` INT(11) DEFAULT 0,
  `method` VARCHAR(50) DEFAULT 'pending',
  `status` VARCHAR(50) DEFAULT 'draft',
  `config_name` VARCHAR(255) DEFAULT '',
  `receipt_file_id` TEXT DEFAULT NULL,
  `admin_note` TEXT DEFAULT NULL,
  `discount_amount` INT(11) DEFAULT 0,
  `discount_note` TEXT DEFAULT NULL,
  `discount_code` VARCHAR(100) DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `paid_at` TIMESTAMP NULL DEFAULT NULL,
  `delivered_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_status` (`status`),
  KEY `idx_created` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `services` (
  `id` VARCHAR(50) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `order_id` VARCHAR(50) DEFAULT NULL,
  `plan_id` VARCHAR(50) DEFAULT NULL,
  `plan_title` VARCHAR(255) DEFAULT NULL,
  `gb` INT(11) DEFAULT 0,
  `price` INT(11) DEFAULT 0,
  `method` VARCHAR(50) DEFAULT NULL,
  `config_username` VARCHAR(255) DEFAULT NULL,
  `subscription_link` TEXT DEFAULT NULL,
  `cyber_subscription_id` VARCHAR(255) DEFAULT NULL,
  `is_trial` TINYINT(1) DEFAULT 0,
  `source` VARCHAR(50) DEFAULT 'manual_stock',
  `expiry_notified` TINYINT(1) DEFAULT 0,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_trial` (`is_trial`),
  KEY `idx_created` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- Finance & Support
-- ============================================================

CREATE TABLE `wallet_transactions` (
  `id` VARCHAR(50) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `amount` INT(11) NOT NULL,
  `kind` VARCHAR(50) NOT NULL,
  `note` TEXT DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_created` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `manual_stock` (
  `id` VARCHAR(50) NOT NULL,
  `plan_id` VARCHAR(50) DEFAULT NULL,
  `link` TEXT NOT NULL,
  `is_trial` TINYINT(1) DEFAULT 0,
  `status` VARCHAR(50) DEFAULT 'available',
  `assigned_to` VARCHAR(50) DEFAULT NULL,
  `order_id` VARCHAR(50) DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `used_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_status` (`status`),
  KEY `idx_trial` (`is_trial`),
  KEY `idx_plan` (`plan_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `topup_requests` (
  `id` VARCHAR(50) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `amount` INT(11) NOT NULL,
  `method` VARCHAR(50) NOT NULL,
  `receipt_file_id` TEXT DEFAULT NULL,
  `status` VARCHAR(50) DEFAULT 'pending_admin',
  `decided_by` VARCHAR(50) DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `decided_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `support_tickets` (
  `id` VARCHAR(50) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `username` VARCHAR(255) DEFAULT '',
  `message` TEXT NOT NULL,
  `status` VARCHAR(50) DEFAULT 'open',
  `admin_reply` TEXT DEFAULT NULL,
  `answered_by` VARCHAR(50) DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `answered_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- Gift & Discount
-- ============================================================

CREATE TABLE `gift_codes` (
  `code` VARCHAR(100) NOT NULL,
  `amount` INT(11) NOT NULL,
  `max_uses` INT(11) DEFAULT 1,
  `used_count` INT(11) DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`code`),
  KEY `idx_active` (`active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `gift_uses` (
  `code` VARCHAR(100) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `used_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`code`, `user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `discount_codes` (
  `code` VARCHAR(100) NOT NULL,
  `percent` INT(11) NOT NULL,
  `max_uses` INT(11) DEFAULT 1,
  `used_count` INT(11) DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`code`),
  KEY `idx_active` (`active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `discount_uses` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `code` VARCHAR(100) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `order_id` VARCHAR(50) DEFAULT NULL,
  `used_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_code_user` (`code`, `user_id`),
  KEY `idx_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- Online Payments
-- ============================================================

CREATE TABLE `payments` (
  `id` VARCHAR(50) NOT NULL,
  `user_id` VARCHAR(50) NOT NULL,
  `order_id` VARCHAR(50) DEFAULT NULL,
  `type` ENUM('order', 'topup') NOT NULL DEFAULT 'order',
  `amount` INT(11) NOT NULL,
  `authority` VARCHAR(100) DEFAULT NULL,
  `ref_id` VARCHAR(100) DEFAULT NULL,
  `status` ENUM('pending', 'paid', 'failed', 'cancelled') DEFAULT 'pending',
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `verified_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_authority` (`authority`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- Seed Data - Categories
-- ============================================================

INSERT INTO `service_categories` (`id`, `title`, `emoji`, `sort_order`, `active`) VALUES
('multi_location', 'Vip حجمی 💎', '💎', 1, 1),
('unlimited_monthly', 'نامحدود ♾️', '♾️', 2, 1),
('economic_volume', 'حجمی اقتصادی ⭐', '⭐', 3, 1);

-- ============================================================
-- Seed Data - Platforms
-- ============================================================

INSERT INTO `app_platforms` (`id`, `title`, `emoji`, `sort_order`, `active`) VALUES
('android', 'Android', '🤖', 1, 1),
('iphone', 'iOS', '🍎', 2, 1),
('windows', 'Windows', '🪟', 3, 1),
('mac', 'Mac', '💻', 4, 1);

-- ============================================================
-- Seed Data - Apps
-- ============================================================

INSERT INTO `platform_apps` (`id`, `platform_id`, `title`, `url`, `is_recommended`, `sort_order`, `active`) VALUES
('app_android_v2box', 'android', 'V2Box', 'https://play.google.com/store/apps/details?id=dev.hexasoftware.v2box', 1, 1, 1),
('app_android_hiddify', 'android', 'Hiddify', 'https://play.google.com/store/apps/details?id=app.hiddify.com', 0, 2, 1),
('app_android_v2raytun', 'android', 'v2rayTun', 'https://play.google.com/store/apps/details?id=com.v2raytun.android', 0, 3, 1),
('app_android_v2rayng', 'android', 'v2rayNG', 'https://github.com/2dust/v2rayNG/releases/latest', 0, 4, 1),
('app_ios_v2box', 'iphone', 'V2Box', 'https://apps.apple.com/app/v2box-v2ray-client/id6446814690', 1, 1, 1),
('app_ios_streisand', 'iphone', 'Streisand', 'https://apps.apple.com/app/streisand/id6450534064', 0, 2, 1),
('app_ios_hiddify', 'iphone', 'Hiddify', 'https://apps.apple.com/app/hiddify-proxy-vpn/id6596777532', 0, 3, 1),
('app_ios_shadowrocket', 'iphone', 'Shadowrocket', 'https://apps.apple.com/app/shadowrocket/id932747118', 0, 4, 1),
('app_win_hiddify', 'windows', 'Hiddify', 'https://github.com/hiddify/hiddify-app/releases/latest', 0, 1, 1),
('app_win_nekoray', 'windows', 'Nekoray', 'https://github.com/MatsuriDayo/nekoray/releases/latest', 0, 2, 1),
('app_win_v2rayn', 'windows', 'v2rayN', 'https://github.com/2dust/v2rayN/releases/latest', 0, 3, 1),
('app_mac_v2box', 'mac', 'V2Box', 'https://apps.apple.com/app/v2box-v2ray-client/id6446814690', 1, 1, 1),
('app_mac_hiddify', 'mac', 'Hiddify', 'https://github.com/hiddify/hiddify-app/releases/latest', 0, 2, 1),
('app_mac_streisand', 'mac', 'Streisand', 'https://apps.apple.com/app/streisand/id6450534064', 0, 3, 1);

-- ============================================================
-- Seed Data - Tutorials
-- ============================================================

INSERT INTO `platform_tutorials` (`id`, `platform_id`, `title`, `content`, `sort_order`, `active`) VALUES
('tut_android_v2rayng', 'android', 'آموزش v2rayNG', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید و روی منوی کشویی (سه خط افقی) در بالا سمت چپ ضربه بزنید.\n۲. گزینه Subscription group setting را انتخاب کنید.\n۳. روی آیکون + در بالا سمت راست بزنید. در بخش Remarks یک نام دلخواه و در بخش URL لینک خود را قرار دهید، سپس تیک (Save) بالای صفحه را بزنید.\n۴. به صفحه اصلی برنامه برگردید و روی سه نقطه بالا سمت راست ضربه بزنید.\n۵. گزینه Update subscription را انتخاب کنید تا لیست سرورها لود شوند.\n۶. سرور مد نظر را انتخاب کرده و دکمه اتصال (آیکون V) در پایین صفحه را بزنید.', 1, 1),
('tut_android_v2raytun', 'android', 'آموزش v2rayTun', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کرده و روی آیکون + در بالا سمت راست کلیک کنید.\n۲. گزینه Import from Clipboard را انتخاب کنید. اگر کار نکرد، گزینه Subscription را زده و لینک را دستی وارد کنید.\n۳. پس از اضافه شدن، روی آیکون به‌روزرسانی (فلش دایره‌ای شکل) ضربه بزنید تا لیست سرورها دریافت شود.\n۴. سرور با بهترین پینگ را انتخاب کرده و متصل شوید.', 2, 1),
('tut_android_hiddify', 'android', 'آموزش Hiddify', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید.\n۲. روی دکمه + (یا New Profile) در بالا سمت راست ضربه بزنید.\n۳. گزینه افزودن از کلیپ‌بورد (Add from clipboard) را انتخاب کنید.\n۴. برنامه به طور خودکار تنظیمات و سرورها را بارگذاری کرده و پینگ می‌گیرد.\n۵. در صفحه اصلی روی دکمه بزرگ وسط صفحه کلیک کنید تا متصل شوید.', 3, 1),
('tut_ios_v2box', 'iphone', 'آموزش V2Box', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید و از پایین صفحه به تب Configs بروید.\n۲. روی آیکون + در گوشه سمت راست بالا ضربه بزنید.\n۳. گزینه Add Subscription را انتخاب کنید.\n۴. در صفحه جدید، یک نام دلخواه (Name) بنویسید و لینک خود را در کادر URL پیست (Paste) کنید، سپس Save یا Add را بزنید.\n۵. به صفحه Configs برگردید و صفحه را به پایین بکشید (Pull to refresh) یا روی آیکون Update ضربه بزنید تا لیست سرورها بارگذاری شود.\n۶. از تب Home، دکمه اتصال را بزنید.', 1, 1),
('tut_ios_shadowrocket', 'iphone', 'آموزش Shadowrocket', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کرده و روی آیکون + در بالا سمت راست کلیک کنید.\n۲. بخش Type را باز کرده و آن را روی Subscribe تنظیم کنید.\n۳. لینک خود را در فیلد URL پیست کنید. (بخش Remarks برای نام‌گذاری است).\n۴. روی Done در بالا سمت راست کلیک کنید تا ذخیره شود.\n۵. برنامه معمولاً خودکار سرورها را آپدیت می‌کند. یکی از سرورها را انتخاب کرده و دکمه اتصال در بالای صفحه را روشن کنید.', 2, 1),
('tut_ios_streisand', 'iphone', 'آموزش Streisand', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید و روی آیکون + در گوشه بالا ضربه بزنید.\n۲. مستقیماً Import from Clipboard را انتخاب کنید یا Add Subscription را بزنید و لینک را قرار دهید.\n۳. لینک را ذخیره کنید.\n۴. روی نام اشتراک اضافه شده لمس کنید و نگه دارید تا سرورها آپدیت شوند.\n۵. یک سرور را انتخاب کرده و با نگه داشتن انگشت روی دکمه اصلی در صفحه اصلی، متصل شوید.', 3, 1),
('tut_ios_hiddify', 'iphone', 'آموزش Hiddify', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید.\n۲. روی دکمه + (یا New Profile) در بالا سمت راست ضربه بزنید.\n۳. گزینه افزودن از کلیپ‌بورد را انتخاب کنید.\n۴. برنامه به طور خودکار تنظیمات و سرورها را بارگذاری می‌کند.\n۵. در صفحه اصلی روی دکمه بزرگ وسط صفحه کلیک کنید تا متصل شوید.', 4, 1),
('tut_win_v2rayn', 'windows', 'آموزش v2rayN', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید. از منوی بالا روی Subscription کلیک کرده و Subscription setting را انتخاب کنید.\n۲. در پنجره باز شده روی Add کلیک کنید.\n۳. در ستون Remarks یک نام بنویسید و در ستون Address لینک خود را پیست کنید. در نهایت Confirm را بزنید.\n۴. از منوی بالا روی Subscription کلیک کرده و گزینه Update subscription را انتخاب کنید.\n۵. روی یکی از سرورها در صفحه اصلی کلیک راست کرده و Set as active server را بزنید.\n۶. از پایین صفحه بررسی کنید که آیکون سیستم پروکسی روی حالت Set system proxy تنظیم شده باشد.', 1, 1),
('tut_win_nekoray', 'windows', 'آموزش Nekoray', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید. (این آموزش برای ویندوز و لینوکس است)\n\n۱. برنامه را باز کنید. از منوی بالا روی Preferences و سپس Groups کلیک کنید.\n۲. دکمه New Group را بزنید.\n۳. یک نام دلخواه در فیلد Name وارد کنید.\n۴. بخش Type را روی Subscription قرار دهید.\n۵. لینک خود را در کادر URL پیست کرده و OK را بزنید.\n۶. در پنجره Groups، روی گروهی که ساختید کلیک کرده و Update Subscription را بزنید.\n۷. روی یکی از سرورها کلیک راست کرده و Start را بزنید. (تیک System Proxy در بالای برنامه فعال باشد).', 2, 1),
('tut_win_hiddify', 'windows', 'آموزش Hiddify', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید.\n۲. روی دکمه + (یا New Profile) در بالا سمت راست ضربه بزنید.\n۳. گزینه افزودن از کلیپ‌بورد را انتخاب کنید.\n۴. برنامه به طور خودکار تنظیمات و سرورها را بارگذاری می‌کند.\n۵. در صفحه اصلی روی دکمه بزرگ وسط صفحه کلیک کنید تا متصل شوید.', 3, 1),
('tut_mac_v2box', 'mac', 'آموزش V2Box', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید و از پایین صفحه به تب Configs بروید.\n۲. روی آیکون + در گوشه سمت راست بالا ضربه بزنید.\n۳. گزینه Add Subscription را انتخاب کنید.\n۴. یک نام دلخواه بنویسید و لینک خود را در کادر URL پیست کنید، سپس Save یا Add را بزنید.\n۵. به صفحه Configs برگردید و صفحه را به پایین بکشید یا روی آیکون Update ضربه بزنید تا لیست سرورها بارگذاری شود.\n۶. از تب Home، دکمه اتصال را بزنید.', 1, 1),
('tut_mac_hiddify', 'mac', 'آموزش Hiddify', '🔔 توجه: قدم اول این است که لینک سابسکریپشن خود را کپی کنید.\n\n۱. برنامه را باز کنید.\n۲. روی دکمه + (یا New Profile) در بالا سمت راست ضربه بزنید.\n۳. گزینه افزودن از کلیپ‌بورد را انتخاب کنید.\n۴. برنامه به طور خودکار تنظیمات و سرورها را بارگذاری می‌کند.\n۵. در صفحه اصلی روی دکمه بزرگ وسط صفحه کلیک کنید تا متصل شوید.', 2, 1);

-- ============================================================
-- Seed Data - Plans
-- ============================================================

INSERT INTO `plans` (`id`, `title`, `gb`, `price`, `sort_order`, `recommended`, `active`, `category_id`) VALUES
('ml10', 'مولتی ۱۰ گیگ', 10, 99000, 10, 0, 1, 'multi_location'),
('ml25', 'مولتی ۲۵ گیگ', 25, 239000, 20, 0, 1, 'multi_location'),
('ml50', 'مولتی ۵۰ گیگ', 50, 449000, 30, 1, 1, 'multi_location'),
('ml100', 'مولتی ۱۰۰ گیگ', 100, 849000, 40, 0, 1, 'multi_location'),
('un1u1m', 'نامحدود ۱ کاربره ۱ ماهه', 0, 249000, 10, 0, 1, 'unlimited_monthly'),
('un2u1m', 'نامحدود ۲ کاربره ۱ ماهه', 0, 349000, 20, 0, 1, 'unlimited_monthly'),
('un1u3m', 'نامحدود ۱ کاربره ۳ ماهه', 0, 599000, 30, 0, 1, 'unlimited_monthly'),
('un2u3m', 'نامحدود ۲ کاربره ۳ ماهه', 0, 899000, 40, 1, 1, 'unlimited_monthly'),
('ec25', 'اقتصادی ۲۵ گیگ', 25, 49000, 10, 0, 1, 'economic_volume'),
('ec50', 'اقتصادی ۵۰ گیگ', 50, 79000, 20, 0, 1, 'economic_volume'),
('ec100', 'اقتصادی ۱۰۰ گیگ', 100, 119000, 30, 0, 1, 'economic_volume');

-- ============================================================
-- Seed Data - Bot Texts
-- ============================================================

INSERT INTO `settings` (`key`, `value`) VALUES
('text:welcome', '🚀 ROCKET VPN\n\nبه ربات خوش آمدید!\nخرید سرویس، کیف پول، تست رایگان و پشتیبانی از دکمه‌های پایین انجام می‌شود.'),
('text:rules', '⚖️ قوانین استفاده از سرویس\n\n• سرویس‌ها برای مصرف شخصی و خانوادگی هستند.\n• فروش مجدد یا اشتراک‌گذاری عمومی اکانت ممنوع است.\n• در صورت سوءاستفاده، امکان تعلیق سرویس وجود دارد.\n• پشتیبانی ۲۴ ساعته از طریق ربات در دسترس است.\n• تغییر سرور در هر زمان امکان‌پذیر است.\n• ضمانت بازگشت وجه در صورت عدم رضایت (تا ۲۴ ساعت اول).'),
('text:faq', '❓ سوالات پرتکرار\n\n🔹 تفاوت سرویس‌ها چیست؟\n\n💎 Vip حجمی:\n• ۳۵ سرور با کیفیت بالا\n• بهترین سرعت و پایداری\n• مناسب برای استفاده حرفه‌ای\n\n♾️ نامحدود:\n• حجم مصرفی کاملاً نامحدود\n• بدون محدودیت در دانلود/آپلود\n• مناسب برای استفاده سنگین\n\n⭐ حجمی اقتصادی:\n• قیمت مناسب‌تر نسبت به Vip\n• امکانات کمتر اما کارآمد\n• مناسب برای استفاده معمولی\n\n🔹 سرویس‌ها زمان دارند؟\nپلن‌های حجمی محدودیت زمانی ندارند. پلن‌های نامحدود ماهانه هستند.\n\n🔹 اگر وصل نشدم چه کار کنم؟\nاز بخش پشتیبانی پیام بده و اسکرین‌شات خطا را بفرست.\n\n🔹 تست رایگان چند بار است؟\nهر اکانت فقط یک بار تست رایگان ۲۴ ساعته دریافت می‌کند.'),
('text:apps_intro', '📥 دریافت اپلیکیشن‌ها\n\nبرای دانلود برنامه، سیستم‌عامل دستگاهت را انتخاب کن:'),
('text:apps_detail', '📥 اپلیکیشن‌های {platform}\n\nروی نام هر برنامه بزن تا لینک دانلودش باز شود.\nپیشنهاد ما: V2Box'),
('text:tutorial_intro', '📚 آموزش اتصال\n\nسیستم‌عامل دستگاهت را انتخاب کن تا آموزش برنامه‌های همان دستگاه را ببینی:'),
('text:tutorial_list', '📚 آموزش‌های {platform}\n\nروی نام هر برنامه بزن تا آموزش کامل وارد کردن لینک اشتراک را ببینی:'),
('text:success_config', '🎉 کانفیگ شما آماده است!\n\nاز خرید شما متشکریم. اگر هر مشکلی داشتی، از بخش پشتیبانی پیام بده.'),
('text:trial_success', '🎉 سرویس تست آماده شد!\n\nاز تست شما متشکریم. در صورت رضایت، سرویس اصلی را خریداری کنید.'),
('text:trial_expired', '⏰ سرویس تست رایگان شما به پایان رسید.\n\n🎁 حالا می‌توانی با ۱۰٪ تخفیف خرید اول، سرویس اصلی را تهیه کنی.\n\nبرای خرید، دکمه 🛒 خرید سرویس جدید را بزن.');
