update setting

This commit is contained in:
2026-08-26 12:56:57 +03:30
parent c635ab5f5f
commit ad78545ebd
7 changed files with 202 additions and 66 deletions
+41 -24
View File
@@ -209,7 +209,7 @@ SELECT 'chart_use_local_data', 'false', 'نمودار از داده خود سا
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'chart_use_local_data' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'chart_id', '', 'UUID نمودار Zaarbox', 1, 1, 'خالی = UUID پیش‌فرض سرویس', 'text'
SELECT 'chart_id', '', 'UUID نمودار Zaarbox', 0, 1, 'خالی = UUID پیش‌فرض سرویس', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'chart_id' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
@@ -1324,7 +1324,7 @@ UPDATE `settings` SET `type` = 'text' WHERE `type` IS NULL OR TRIM(`type`) = '';
-- کلیدهای modular اضافی (INSERT اگر نبود)
-- ---------------------------------------------------------------------------
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`, `description`)
SELECT 'price_provider', 'منبع قیمت', 'montzar', 1, 0, 1, 'select', 'منبع فعال قیمت|montzar,zaarbox,main_product'
SELECT 'price_provider', 'منبع قیمت', 'montzar', 0, 0, 1, 'select', 'منبع فعال قیمت|montzar,zaarbox,main_product'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_provider' LIMIT 1);
-- حذف alias قدیمی؛ منبع واحد: fee_service_charge_percentage
@@ -1363,7 +1363,7 @@ SELECT 'enamad_logo', 'لوگوی اینماد', '', 1, 0, 1, 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'enamad_logo' LIMIT 1);
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
SELECT 'zaarbox_api_url', 'آدرس API تابلو Zaarbox', '', 1, 0, 1, 'text'
SELECT 'zaarbox_api_url', 'آدرس API تابلو Zaarbox', '', 0, 0, 1, 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zaarbox_api_url' LIMIT 1);
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
@@ -1371,7 +1371,7 @@ SELECT 'zaarbox_price_key', 'شناسه ردیف تابلو (key یا UUID)', ''
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zaarbox_price_key' LIMIT 1);
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
SELECT 'main_product', 'محصول آبشده', '', 1, 0, 1, 'text'
SELECT 'main_product', 'محصول آبشده', '', 0, 0, 1, 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_product' LIMIT 1);
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
@@ -2219,11 +2219,12 @@ UPDATE `settings` SET `title_fa` = 'شناسه ردیف تابلو (key یا UUI
-- 'show_to_users_chat', 'chat_api', 'chat_api_key', 'chat_upload_url', 'chat_download_url', 'chat_webhook_secret', 'chat_webhook_base_url'
-- );
-- قابل ویرایش در پنل (can_edit = 1)
-- قابل ویرایش در پنل عادی (can_edit = 1)
UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'name_fa',
'auto_active_customer', 'balance_report_exclude_customer_id',
'buy_fee', 'charge_notif', 'close_price',
'chart_use_local_data',
'require_zero_main_gold_before_other_buy',
'sms_notif_order_admin', 'sms_notif_order_customer',
'sms_notif_withdraw_admin', 'sms_notif_withdraw_otp', 'sms_notif_login_otp',
@@ -2233,7 +2234,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'sms_notif_price_trigger', 'sms_notif_wallet_alert', 'sms_notif_support_admin',
'deposit_sms_support_number', 'deposit_support_message_text',
'deposit_account_holder', 'deposit_card_number', 'deposit_account_number', 'deposit_sheba',
'deposit_method_card_to_card', 'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'deposit_method_card_to_card',
'endDay',
'fee_free', 'fee_service_charge_percentage',
'gift_for_referral', 'gift_for_referrer',
@@ -2243,9 +2244,6 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'min_first_buy', 'min_withdraw', 'min_deposit', 'minimum_sell',
'montzar_mobile', 'montzar_open_buy', 'montzar_open_sell',
'montzar_password', 'montzar_product_id',
'montzar_closed', 'montzar_diff', 'montzar_last_product_log', 'montzar_live_price', 'montzar_mazaneh',
'montzar_order_response', 'montzar_token',
'montzar_truly_buy_mazaneh', 'montzar_truly_sell_mazaneh',
'open_register',
'referral_id', 'referral_show', 'referral_limit', 'referral_gift_on_first_order', 'referral_gift_buy_from_montzar',
'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer',
@@ -2254,10 +2252,9 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'products_site_link_enabled', 'products_site_link_url', 'products_site_link_text',
'startDay',
'support_messenger', 'support_messenger_id', 'support_messenger_text', 'support_messengers',
'up_price', 'down_price', 'price_extreme_date', 'do_send_liman',
'do_send_liman',
'has_chat',
'deposit_support_message_text', 'deposit_account_holder', 'deposit_card_number', 'deposit_account_number', 'deposit_sheba',
'deposit_method_card_to_card', 'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'text_about', 'text_rule', 'about_software', 'enamad_url', 'enamad_logo',
'price_channel_enabled', 'price_channel_messengers', 'price_channel_diff',
'price_channel_min_seconds', 'price_channel_message_text',
@@ -2268,13 +2265,23 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'zaarbox_price_key'
);
-- کلیدهای runtime — فقط tenant DB؛ can_edit=1 (خارج از سوپرادمین)
-- تنظیمات پیشرفته (can_edit=0) — فقط در پنل پیشرفته؛ ادمین دیپلوی ویرایش می‌کند
UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
'up_price', 'down_price', 'price_extreme_date',
'main_product', 'price_provider', 'zaarbox_api_url',
'montzar_base_url', 'montzar_diff', 'montzar_closed', 'montzar_order_response',
'montzar_token', 'montzar_live_price', 'montzar_last_product_log',
'montzar_truly_buy_mazaneh', 'montzar_truly_sell_mazaneh', 'montzar_mazaneh',
'node_client_id', 'node_shared_secret', 'external_order_api_enabled',
'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'payping_verify_url', 'payping_start_url', 'payping_strict_failed_withdraw',
'payping_fin_token', 'chart_id', 'payping_round_toman', 'payping_gateway_items',
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url'
);
-- کلید runtime باقی‌مانده — can_edit=1
UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'montzar_last_product_log', 'montzar_order_response',
'montzar_live_price', 'montzar_mazaneh', 'montzar_diff',
'montzar_truly_buy_mazaneh', 'montzar_truly_sell_mazaneh',
'montzar_token', 'montzar_closed',
'up_price', 'down_price', 'price_extreme_date', 'do_send_liman'
'do_send_liman'
);
-- تفکیک نهایی type (بعد از همه batchها — override روی دیتابیس موجود)
@@ -2433,17 +2440,27 @@ WHERE `key` = 'deposit_method_shetab';
-- AND TRIM(COALESCE(`value`, '')) IN ('', 'none')
-- AND EXISTS (SELECT 1 FROM (SELECT `value` FROM `settings` WHERE `key` = 'send_to_tahesab') AS s WHERE s.`value` IN ('true', '1', 'yes'));
-- آخرین override: کلیدهای runtime همیشه can_edit=1 (tenant-only)
-- آخرین override (deploy:tenant → settings:deploy روی هر DB tenant):
-- فقط runtime باقی‌مانده can_edit=1؛ کلیدهای پیشرفته can_edit=0؛ chart_use_local_data=1
UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'montzar_last_product_log', 'montzar_order_response',
'montzar_live_price', 'montzar_mazaneh', 'montzar_diff',
'montzar_truly_buy_mazaneh', 'montzar_truly_sell_mazaneh',
'montzar_token', 'montzar_closed',
'up_price', 'down_price', 'price_extreme_date', 'do_send_liman'
'do_send_liman'
);
UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
'up_price', 'down_price', 'price_extreme_date',
'main_product', 'price_provider', 'zaarbox_api_url',
'montzar_base_url', 'montzar_diff', 'montzar_closed', 'montzar_order_response',
'montzar_token', 'montzar_live_price', 'montzar_last_product_log',
'montzar_truly_buy_mazaneh', 'montzar_truly_sell_mazaneh', 'montzar_mazaneh',
'node_client_id', 'node_shared_secret', 'external_order_api_enabled',
'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'payping_verify_url', 'payping_start_url', 'payping_strict_failed_withdraw',
'payping_fin_token', 'chart_id', 'payping_round_toman', 'payping_gateway_items',
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url'
);
UPDATE `settings` SET `can_edit` = 1 WHERE `key` = 'chart_use_local_data';
SELECT `key`, `can_edit` FROM `settings`
WHERE `key` IN ('montzar_token', 'montzar_diff', 'montzar_open_buy')
WHERE `key` IN ('montzar_token', 'montzar_diff', 'montzar_open_buy', 'chart_use_local_data', 'price_provider')
ORDER BY `key`;
COMMIT;