-- ═══════════════════════════════════════════════
--  هيكل قاعدة البيانات — بوت المحتوى العراقي
--  شغّل هذا الملف عبر phpMyAdmin مرة واحدة (تبويب Import)
-- ═══════════════════════════════════════════════

SET NAMES utf8mb4;

-- ─────────────────────────────────────────────
-- جدول المستخدمين
-- ─────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS `users` (
    `id`                  INT AUTO_INCREMENT PRIMARY KEY,
    `telegram_id`         BIGINT NOT NULL UNIQUE,
    `name`                VARCHAR(255) DEFAULT NULL,
    `registered_at`       DATETIME NOT NULL,
    `subscription_status` ENUM('free','active','expired') NOT NULL DEFAULT 'free',
    `plan`                VARCHAR(50) NOT NULL DEFAULT 'basic',
    `text_credits`        INT NOT NULL DEFAULT 0,
    `image_credits`       INT NOT NULL DEFAULT 0,
    `credits_renewed_at`  DATETIME DEFAULT NULL,
    INDEX `idx_telegram_id` (`telegram_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ─────────────────────────────────────────────
-- جدول التوليدات (يحفظ كل ما يُنتَج)
-- ─────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS `generations` (
    `id`          INT AUTO_INCREMENT PRIMARY KEY,
    `user_id`     INT NOT NULL,
    `type`        ENUM('text','image') NOT NULL,
    `content`     TEXT,
    `created_at`  DATETIME NOT NULL,
    INDEX `idx_user` (`user_id`),
    FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ─────────────────────────────────────────────
-- جدول الإعدادات (الحدود القابلة للتعديل)
-- ─────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS `settings` (
    `id`     INT AUTO_INCREMENT PRIMARY KEY,
    `key`    VARCHAR(100) NOT NULL UNIQUE,
    `value`  VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ─────────────────────────────────────────────
-- جدول حالة المحادثة (لتتبّع خطوات المستخدم خطوة بخطوة)
-- ─────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS `user_states` (
    `telegram_id`  BIGINT NOT NULL PRIMARY KEY,
    `state`        VARCHAR(50) DEFAULT NULL,
    `data`         TEXT DEFAULT NULL,
    `updated_at`   DATETIME NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ─────────────────────────────────────────────
-- القيم الافتراضية (يمكن تعديلها لاحقاً من أوامر المدير)
-- ─────────────────────────────────────────────
INSERT INTO `settings` (`key`, `value`) VALUES
    -- حدود الباقة المجانية (للتجربة)
    ('free_text_limit',       '5'),
    ('free_image_limit',      '2'),
    -- حدود الباقة الأساسية
    ('basic_text_limit',      '40'),
    ('basic_image_limit',     '15'),
    ('basic_price',           '10000'),
    -- حدود الباقة الاحترافية
    ('pro_text_limit',        '120'),
    ('pro_image_limit',       '50'),
    ('pro_price',             '25000'),
    -- حدود باقة الأعمال
    ('business_text_limit',   '400'),
    ('business_image_limit',  '150'),
    ('business_price',        '60000'),
    -- معلومات الدفع (يعدّلها المدير)
    ('payment_info',          'للدفع حوّل المبلغ عبر زين كاش أو آسيا حوالة إلى الرقم: 07XXXXXXXXX ثم أرسل صورة الإيصال')
ON DUPLICATE KEY UPDATE `value` = VALUES(`value`);
