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


-- ─────────────────────────────────────────────
-- جدول المستخدمين
-- ─────────────────────────────────────────────
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 `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;
