-- ITSG AI - Complete installation SQL (MariaDB 10.11 / MySQL 8)
-- Generated: 2026-09-08T20:26:11.054795 UTC
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
CREATE DATABASE IF NOT EXISTS `itsg_ai` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE `itsg_ai`;

-- ---------- settings ----------
DROP TABLE IF EXISTS `settings`;
CREATE TABLE `settings` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `group` VARCHAR(100) NOT NULL DEFAULT 'general' COMMENT 'general | ai | sms | payment | oauth',
  `key` VARCHAR(191) NOT NULL,
  `value` LONGTEXT NULL DEFAULT NULL,
  `is_secret` TINYINT(1) NOT NULL DEFAULT 0 COMMENT 'مخفی در UI',
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_settings_group_key` (`group`, `key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- ai_models ----------
DROP TABLE IF EXISTS `ai_models`;
CREATE TABLE `ai_models` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(191) NOT NULL COMMENT 'نام نمایشی',
  `model_id` VARCHAR(191) NOT NULL COMMENT 'آیدی ارسالی به Metis',
  `provider` VARCHAR(100) NOT NULL DEFAULT 'metis',
  `category` VARCHAR(100) NULL DEFAULT NULL COMMENT 'chat | image | code',
  `description` TEXT NULL DEFAULT NULL,
  `icon_url` VARCHAR(500) NULL DEFAULT NULL,
  `metis_price_per_1k_input` DECIMAL(10,4) NOT NULL DEFAULT 0 COMMENT 'قیمت خرید هر 1k توکن ورودی (تومان)',
  `metis_price_per_1k_output` DECIMAL(10,4) NOT NULL DEFAULT 0 COMMENT 'قیمت خرید هر 1k توکن خروجی (تومان)',
  `markup_percent` DECIMAL(5,2) NOT NULL DEFAULT 30 COMMENT 'درصد اضافه بر قیمت متیس',
  `context_window` INT UNSIGNED NULL DEFAULT NULL COMMENT 'حداکثر توکن کانتکست',
  `is_active` TINYINT(1) NOT NULL DEFAULT 1,
  `sort_order` INT NOT NULL DEFAULT 0,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ai_models_model_id_unique` (`model_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- subscription_plans ----------
DROP TABLE IF EXISTS `subscription_plans`;
CREATE TABLE `subscription_plans` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(191) NOT NULL,
  `slug` VARCHAR(100) NOT NULL,
  `description` TEXT NULL DEFAULT NULL,
  `price_monthly` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'قیمت ماهانه (تومان)',
  `price_yearly` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'قیمت سالانه (تومان)',
  `messages_per_window` INT UNSIGNED NOT NULL DEFAULT 25 COMMENT 'تعداد پیام در هر بازه',
  `window_hours` TINYINT UNSIGNED NOT NULL DEFAULT 3 COMMENT 'بازه زمانی (ساعت)',
  `allowed_models` JSON NULL DEFAULT NULL COMMENT 'آرایه model_id یا null=همه',
  `monthly_credits` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0=بر اساس پیام',
  `features` JSON NULL DEFAULT NULL,
  `is_active` TINYINT(1) NOT NULL DEFAULT 1,
  `is_featured` TINYINT(1) NOT NULL DEFAULT 0,
  `sort_order` INT NOT NULL DEFAULT 0,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `subscription_plans_slug_unique` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- users ----------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(191) NULL DEFAULT NULL,
  `email` VARCHAR(191) NULL DEFAULT NULL,
  `mobile` VARCHAR(20) NULL DEFAULT NULL,
  `password` VARCHAR(255) NULL DEFAULT NULL COMMENT 'NULL برای OAuth-only',
  `email_verified_at` TIMESTAMP NULL DEFAULT NULL,
  `mobile_verified_at` TIMESTAMP NULL DEFAULT NULL,
  `avatar` VARCHAR(500) NULL DEFAULT NULL,
  `role` ENUM('user','admin') NOT NULL DEFAULT 'user',
  `wallet_balance` BIGINT NOT NULL DEFAULT 0 COMMENT 'موجودی کیف پول (ریال)',
  `api_credit` BIGINT NOT NULL DEFAULT 0 COMMENT 'اعتبار API (ریال)',
  `is_active` TINYINT(1) NOT NULL DEFAULT 1,
  `banned_until` TIMESTAMP NULL DEFAULT NULL,
  `ban_reason` VARCHAR(500) NULL DEFAULT NULL,
  `referral_code` VARCHAR(20) NULL DEFAULT NULL,
  `referred_by` BIGINT UNSIGNED NULL DEFAULT NULL,
  `last_login_at` TIMESTAMP NULL DEFAULT NULL,
  `last_login_ip` VARCHAR(45) NULL DEFAULT NULL,
  `remember_token` VARCHAR(100) NULL DEFAULT NULL,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`),
  UNIQUE KEY `users_mobile_unique` (`mobile`),
  UNIQUE KEY `users_referral_code_unique` (`referral_code`),
  CONSTRAINT `fk_users_referred_by` FOREIGN KEY (`referred_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- oauth_providers ----------
DROP TABLE IF EXISTS `oauth_providers`;
CREATE TABLE `oauth_providers` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` BIGINT UNSIGNED NOT NULL,
  `provider` ENUM('google','apple') NOT NULL,
  `provider_id` VARCHAR(255) NOT NULL,
  `avatar` VARCHAR(500) NULL DEFAULT NULL,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_oauth` (`provider`, `provider_id`),
  CONSTRAINT `fk_oauth_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- otp_codes ----------
DROP TABLE IF EXISTS `otp_codes`;
CREATE TABLE `otp_codes` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `identifier` VARCHAR(191) NOT NULL COMMENT 'موبایل یا ایمیل',
  `type` ENUM('sms','email') NOT NULL DEFAULT 'sms',
  `code` VARCHAR(10) NOT NULL,
  `purpose` VARCHAR(50) NOT NULL DEFAULT 'login' COMMENT 'login | verify | reset',
  `expires_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `used_at` TIMESTAMP NULL DEFAULT NULL,
  `ip` VARCHAR(45) NULL DEFAULT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_otp_identifier` (`identifier`, `purpose`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- user_subscriptions ----------
DROP TABLE IF EXISTS `user_subscriptions`;
CREATE TABLE `user_subscriptions` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` BIGINT UNSIGNED NOT NULL,
  `plan_id` BIGINT UNSIGNED NOT NULL,
  `billing_cycle` ENUM('monthly','yearly') NOT NULL DEFAULT 'monthly',
  `status` ENUM('active','expired','cancelled','pending') NOT NULL DEFAULT 'pending',
  `starts_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `ends_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `auto_renew` TINYINT(1) NOT NULL DEFAULT 1,
  `transaction_id` BIGINT UNSIGNED NULL DEFAULT NULL,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_sub_user` (`user_id`, `status`),
  CONSTRAINT `fk_sub_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_sub_plan` FOREIGN KEY (`plan_id`) REFERENCES `subscription_plans` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_sub_tx` FOREIGN KEY (`transaction_id`) REFERENCES `transactions` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- message_quotas ----------
DROP TABLE IF EXISTS `message_quotas`;
CREATE TABLE `message_quotas` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` BIGINT UNSIGNED NOT NULL,
  `window_start` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'شروع بازه ۳ ساعته',
  `window_end` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'پایان بازه',
  `message_count` INT UNSIGNED NOT NULL DEFAULT 0,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_quota_user_window` (`user_id`, `window_start`),
  CONSTRAINT `fk_quota_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- conversations ----------
DROP TABLE IF EXISTS `conversations`;
CREATE TABLE `conversations` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` BIGINT UNSIGNED NOT NULL,
  `model_id` VARCHAR(191) NULL DEFAULT NULL COMMENT 'model_id انتخابی',
  `title` VARCHAR(500) NULL DEFAULT NULL,
  `is_archived` TINYINT(1) NOT NULL DEFAULT 0,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_conv_user` (`user_id`),
  CONSTRAINT `fk_conv_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- messages ----------
DROP TABLE IF EXISTS `messages`;
CREATE TABLE `messages` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `conversation_id` BIGINT UNSIGNED NOT NULL,
  `user_id` BIGINT UNSIGNED NOT NULL,
  `role` ENUM('user','assistant','system') NOT NULL,
  `content` LONGTEXT NOT NULL,
  `model_id` VARCHAR(191) NULL DEFAULT NULL,
  `prompt_tokens` INT UNSIGNED NOT NULL DEFAULT 0,
  `completion_tokens` INT UNSIGNED NOT NULL DEFAULT 0,
  `total_tokens` INT UNSIGNED NOT NULL DEFAULT 0,
  `cost_purchase` BIGINT NOT NULL DEFAULT 0 COMMENT 'هزینه خرید از متیس (ریال)',
  `cost_charged` BIGINT NOT NULL DEFAULT 0 COMMENT 'هزینه دریافت از کاربر (ریال)',
  `is_hidden` TINYINT(1) NOT NULL DEFAULT 0,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_msg_conv` (`conversation_id`),
  CONSTRAINT `fk_msg_conv` FOREIGN KEY (`conversation_id`) REFERENCES `conversations` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_msg_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- api_keys ----------
DROP TABLE IF EXISTS `api_keys`;
CREATE TABLE `api_keys` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` BIGINT UNSIGNED NOT NULL,
  `name` VARCHAR(191) NOT NULL COMMENT 'نام توصیفی',
  `key` VARCHAR(80) NOT NULL COMMENT 'itsgai-xxxx...',
  `allowed_models` JSON NULL DEFAULT NULL COMMENT 'NULL=همه مجاز',
  `rate_limit_rpm` INT UNSIGNED NOT NULL DEFAULT 60 COMMENT 'request per minute',
  `last_used_at` TIMESTAMP NULL DEFAULT NULL,
  `expires_at` TIMESTAMP NULL DEFAULT NULL,
  `is_active` TINYINT(1) NOT NULL DEFAULT 1,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `api_keys_key_unique` (`key`),
  CONSTRAINT `fk_apikey_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- transactions ----------
DROP TABLE IF EXISTS `transactions`;
CREATE TABLE `transactions` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` BIGINT UNSIGNED NOT NULL,
  `type` ENUM('charge','subscription','api_credit','refund','deduct') NOT NULL,
  `amount` BIGINT NOT NULL COMMENT '(ریال) — مثبت=دریافت، منفی=کسر',
  `balance_after` BIGINT NOT NULL DEFAULT 0,
  `gateway` VARCHAR(50) NULL DEFAULT 'zibal',
  `track_id` VARCHAR(191) NULL DEFAULT NULL COMMENT 'شماره پیگیری zibal',
  `gateway_ref` VARCHAR(191) NULL DEFAULT NULL,
  `status` ENUM('pending','success','failed','refunded') NOT NULL DEFAULT 'pending',
  `subscription_id` BIGINT UNSIGNED NULL DEFAULT NULL,
  `description` VARCHAR(500) NULL DEFAULT NULL,
  `meta` JSON NULL DEFAULT NULL,
  `created_at` TIMESTAMP NULL DEFAULT NULL,
  `updated_at` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_tx_user` (`user_id`, `status`),
  KEY `idx_tx_track` (`track_id`),
  CONSTRAINT `fk_tx_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- announcements ----------
DROP TABLE IF EXISTS `announcements`;
CREATE TABLE `announcements` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(500) NOT NULL,
  `body` TEXT NOT NULL,
  `type` ENUM('info','warning','success','danger') NOT NULL DEFAULT 'info',
  `target` ENUM('all','free','paid','api') NOT NULL DEFAULT 'all',
  `starts_at` TIMESTAMP NULL DEFAULT NULL,
  `ends_at` TIMESTAMP NULL DEFAULT NULL,
  `is_active` TINYINT(1) NOT NULL DEFAULT 1,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- admin_logs ----------
DROP TABLE IF EXISTS `admin_logs`;
CREATE TABLE `admin_logs` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `admin_id` BIGINT UNSIGNED NOT NULL,
  `action` VARCHAR(191) NOT NULL,
  `target_type` VARCHAR(100) NULL DEFAULT NULL,
  `target_id` BIGINT UNSIGNED NULL DEFAULT NULL,
  `old_value` JSON NULL DEFAULT NULL,
  `new_value` JSON NULL DEFAULT NULL,
  `ip` VARCHAR(45) NULL DEFAULT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_log_admin` (`admin_id`),
  CONSTRAINT `fk_log_admin` FOREIGN KEY (`admin_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------- seed: settings ----------
INSERT INTO `settings` (`group`, `key`, `value`, `is_secret`, `created_at`, `updated_at`) VALUES
('ai', 'metis_base_url', 'https://api.metisai.ir/openai/v1', 0, NOW(), NOW()),\)},('ai', 'metis_api_key', NULL, 1, NOW(), NOW()),\)},('ai', 'default_model', 'gpt-4o', 0, NOW(), NOW()),\)},('ai', 'streaming_enabled', '1', 0, NOW(), NOW()),\)},('sms', 'ippanel_api_key', NULL, 1, NOW(), NOW()),\)},('sms', 'ippanel_sender', NULL, 0, NOW(), NOW()),\)},('sms', 'otp_pattern_code', NULL, 0, NOW(), NOW()),\)},('sms', 'otp_expiry_minutes', '5', 0, NOW(), NOW()),\)},('payment', 'zibal_merchant', NULL, 1, NOW(), NOW()),\)},('payment', 'zibal_callback_url', NULL, 0, NOW(), NOW()),\)},('oauth', 'google_client_id', NULL, 1, NOW(), NOW()),\)},('oauth', 'google_client_secret', NULL, 1, NOW(), NOW()),\)},('oauth', 'google_enabled', '0', 0, NOW(), NOW()),\)},('oauth', 'apple_client_id', NULL, 1, NOW(), NOW()),\)},('oauth', 'apple_team_id', NULL, 0, NOW(), NOW()),\)},('oauth', 'apple_key_id', NULL, 0, NOW(), NOW()),\)},('oauth', 'apple_private_key', NULL, 1, NOW(), NOW()),\)},('oauth', 'apple_enabled', '0', 0, NOW(), NOW()),\)},('general', 'app_name', 'ITSG AI', 0, NOW(), NOW()),\)},('general', 'app_url', 'https://ai.itsgco.ir', 0, NOW(), NOW()),\)},('general', 'maintenance_mode', '0', 0, NOW(), NOW()),\)},('general', 'referral_enabled', '0', 0, NOW(), NOW());

-- ---------- seed: ai_models ----------
INSERT INTO `ai_models` (`name`,`model_id`,`provider`,`category`,`description`,`metis_price_per_1k_input`,`metis_price_per_1k_output`,`markup_percent`,`context_window`,`is_active`,`sort_order`,`created_at`,`updated_at`) VALUES
('GPT-4o', 'gpt-4o', 'metis', 'chat', 'قدرتمندترین مدل OpenAI با پشتیبانی از متن، تصویر و صدا', 0.15, 0.6, 35, 128000, 1, 1, NOW(), NOW()),
('GPT-4o Mini', 'gpt-4o-mini', 'metis', 'chat', 'نسخه سبک و سریع GPT-4o برای کارهای روزمره', 0.02, 0.06, 40, 128000, 1, 2, NOW(), NOW()),
('Claude 3 Sonnet', 'claude-3-sonnet', 'metis', 'chat', 'مدل پیشرفته Anthropic با استدلال عمیق', 0.25, 1.25, 35, 200000, 1, 3, NOW(), NOW()),
('Gemini 1.5 Pro', 'gemini-1.5-pro', 'metis', 'chat', 'مدل چندوجهی Google با کانتکست بسیار بزرگ', 0.125, 0.375, 35, 1000000, 1, 4, NOW(), NOW()),
('o1 Preview', 'o1-preview', 'metis', 'reasoning', 'مدل استدلال پیشرفته OpenAI برای مسائل پیچیده', 1.5, 6.0, 30, 128000, 1, 5, NOW(), NOW());

-- ---------- seed: subscription_plans ----------
INSERT INTO `subscription_plans` (`name`,`slug`,`description`,`price_monthly`,`price_yearly`,`messages_per_window`,`window_hours`,`allowed_models`,`monthly_credits`,`features`,`is_active`,`is_featured`,`sort_order`,`created_at`,`updated_at`) VALUES
('رایگان', 'free', 'مناسب برای شروع و آشنایی با پلتفرم', 0, 0, 10, 3, '["gpt-4o-mini"]', 0, '["دسترسی به مدل GPT-4o Mini", "۱۰ پیام هر ۳ ساعت", "تاریخچه مکالمات", "پشتیبانی از طریق ایمیل"]', 1, 0, 0, NOW(), NOW()),
('پلاس', 'plus', 'برای کاربران روزانه با نیاز متوسط', 299000, 2990000, 25, 3, '["gpt-4o-mini", "gpt-4o", "gemini-1.5-pro"]', 0, '["دسترسی به GPT-4o و Gemini 1.5 Pro", "۲۵ پیام هر ۳ ساعت", "آپلود و تحلیل فایل", "پشتیبانی اولویت‌دار"]', 1, 0, 1, NOW(), NOW()),
('پرو', 'pro', 'برای حرفه‌ای‌ها و تیم‌های کوچک', 1499000, 14990000, 60, 3, NULL, 0, '["دسترسی به همه مدل‌ها", "۶۰ پیام هر ۳ ساعت", "API شخصی", "آپلود فایل و تولید تصویر", "پشتیبانی ۲۴/۷"]', 1, 1, 2, NOW(), NOW()),
('پرو مکس', 'pro-max', 'برای سازمان‌ها و استفاده سنگین', 4999000, 49990000, 0, 3, NULL, 0, '["پیام نامحدود", "همه مدل‌ها با اولویت", "API با rate limit بالا", "مدیر اختصاصی", "SLA اختصاصی"]', 1, 0, 3, NOW(), NOW());

-- ---------- seed: admin user ----------
-- NOTE: password below is a bcrypt hash. Regenerate with: php -r "echo password_hash('000000', PASSWORD_DEFAULT);"
INSERT INTO `users` (`name`,`email`,`password`,`role`,`email_verified_at`,`referral_code`,`is_active`,`created_at`,`updated_at`)
VALUES ('ITSG Admin', 'itsg.groups@gmail.com', '$2y$10$Q9YbCm0XvK5nE8pLrTzJ4eO1uS7wA3dF6gH2jK9lM0nB4cV8xZaOu', 'admin', NOW(), 'ITSGADM1', 1, NOW(), NOW())
ON DUPLICATE KEY UPDATE `role`='admin', `updated_at`=NOW();

SET FOREIGN_KEY_CHECKS = 1;
