-- migrate_v10.sql
-- اضافه‌کردن پشتیبانی هم‌زمان از دو نوع API پنل: Rebecca (قدیمی) و PasarGuard (جدید).
--
-- api_type: مشخص می‌کند این پنل با کدام API صحبت کند.
--   - 'rebecca'    : همان رفتار قبلی، بدون هیچ تغییری (پیش‌فرض - پنل‌های قدیمی
--                    که از قبل ثبت شده‌اند خودکار همین مقدار را می‌گیرند)
--   - 'pasarguard' : از کلاس جدید classes/panel_pasarguard.php استفاده می‌کند
--
-- reseller_role_id: فقط برای پنل‌هایی که api_type='pasarguard' دارند لازم است.
-- PasarGuard دیگر "Services" ندارد؛ به‌جایش "Admin Roles" دارد و هر ادمین باید
-- یک role_id معتبر داشته باشد. این رول را باید یک‌بار، دستی، در پنل PasarGuard
-- بسازید:
--   1) پنل > Admin Roles > Create Role
--   2) یک اسم بگذارید (مثلاً "Reseller")
--   3) دسترسی‌های کاربر را با اسکوپ "Own" بدهید (نه All)
--   4) گروه(های) مجاز (Allowed Groups) را همان گروهی بگذارید که در ربات به‌عنوان
--      "سرویس پیش‌فرض" پنل انتخاب کرده‌اید
--   5) رول را ذخیره کنید و آی‌دی آن را یادداشت کنید
--
-- بعد این مقادیر را دستی در دیتابیس ثبت کنید، مثلاً برای پنلی که می‌خواهید به
-- PasarGuard وصلش کنید:
--   UPDATE panels SET api_type = 'pasarguard', reseller_role_id = 3 WHERE id = 5;
-- و برای پنل‌های قدیمی که همچنان روی Rebecca می‌مانند، کاری لازم نیست - مقدار
-- پیش‌فرض api_type همان 'rebecca' است.

ALTER TABLE panels
    ADD COLUMN api_type ENUM('rebecca', 'pasarguard') NOT NULL DEFAULT 'rebecca'
        COMMENT 'این پنل با کدام API صحبت کند: rebecca (قدیمی) یا pasarguard (جدید)'
        AFTER base_url,
    ADD COLUMN reseller_role_id INT NULL
        COMMENT 'فقط برای api_type=pasarguard: آی‌دی رول ادمین (Admin Role) که به نماینده‌های تازه‌ساخته‌شده داده می‌شود - باید از قبل در پنل PasarGuard ساخته شده باشد'
        AFTER default_service_id;
