feat(remittance): add enable_remittance plugin setting to catalog and seeds

This commit is contained in:
2026-10-27 18:07:10 +03:30
parent f0989e03e3
commit a98fdb8d9e
4 changed files with 98 additions and 29 deletions
+37 -28
View File
@@ -44,6 +44,15 @@
"description": "روشن: در لیست مشتریان آیکون تنظیم درصد سود هر سطح زیرمجموعه فعال است و پس از سفارش، سهم کارمزد طبق درصدهای هر معرف به کیف طلا واریز می‌شود. خاموش: آیکون و واریز سود چندسطحی غیرفعال است. فقط از دیپلوی قابل تغییر است.",
"type": "switch"
},
{
"key": "enable_gold_credit",
"value": "false",
"title_fa": "اعتبار طلایی",
"can_edit": 0,
"is_active": 1,
"description": "روشن: زیرمنوی اعتبار در مشتریان و صفحه اعتبار در اپ مشتری. خاموش: غیرفعال. فقط از سوپرادمین.",
"type": "switch"
},
{
"key": "enable_product_funds",
"value": "",
@@ -53,6 +62,15 @@
"description": "روشن: ساخت و مدیریت قلک per-product در اپ مشتری فعال است (یک محصول در هر قلک؛ انتقال بدون سند حسابداری). خاموش: منو و API ساخت قلک جدید در دسترس نیست. فقط از دیپلوی قابل تغییر است.",
"type": "switch"
},
{
"key": "enable_remittance",
"value": "false",
"title_fa": "حواله",
"can_edit": 0,
"is_active": 1,
"description": "روشن: امکان انتقال وجه یا محصول از کیف پول به سایر شماره‌ها توسط کاربران فعال است. خاموش: این امکان غیرفعال است.",
"type": "switch"
},
{
"key": "group_sms",
"value": "",
@@ -62,6 +80,24 @@
"description": "روشن: دکمه ارسال پیامک گروهی در پنل ادمین فعال است (ارسال ۱۰تایی). خاموش: ارسال پیامک گروهی غیرفعال است. فقط از تنظیمات پیشرفته.",
"type": "switch"
},
{
"key": "has_charts",
"value": "false",
"title_fa": "نمودارها",
"can_edit": 0,
"is_active": 1,
"description": "روشن: بخش نمودارها در اپلیکیشن فعال است. خاموش: نمودارها غیرفعال هستند.",
"type": "switch"
},
{
"key": "has_landing",
"value": "false",
"title_fa": "لندینگ وبسایت",
"can_edit": 0,
"is_active": 1,
"description": "روشن: منوی تنظیمات وبسایت در ادمین و تنظیمات لندینگ برای اپ کاربر فعال است. خاموش: منو مخفی است.",
"type": "switch"
},
{
"key": "has_page_earn_money",
"value": "false",
@@ -124,32 +160,5 @@
"is_active": 1,
"description": "",
"type": ""
},
{
"key": "has_landing",
"value": "false",
"title_fa": "لندینگ وبسایت",
"can_edit": 0,
"is_active": 1,
"description": "روشن: منوی تنظیمات وبسایت در ادمین و تنظیمات لندینگ برای اپ کاربر فعال است. خاموش: منو مخفی است.",
"type": "switch"
},
{
"key": "enable_gold_credit",
"value": "false",
"title_fa": "اعتبار طلایی",
"description": "روشن: زیرمنوی اعتبار در مشتریان و صفحه اعتبار در اپ مشتری. خاموش: غیرفعال. فقط از سوپرادمین.",
"type": "switch",
"can_edit": 0,
"is_active": 1
},
{
"key": "has_charts",
"value": "false",
"title_fa": "نمودارها",
"description": "روشن: بخش نمودارها در اپلیکیشن فعال است. خاموش: نمودارها غیرفعال هستند.",
"type": "switch",
"can_edit": 0,
"is_active": 1
}
]
]
@@ -216,6 +216,7 @@ const SUPERADMIN_OWNED_KEYS = new Set([
'enable_customer_level_profit',
'enable_gold_credit',
'enable_product_funds',
'enable_remittance',
'group_sms',
'has_charts',
'has_landing',
@@ -237,6 +238,13 @@ const SUPERADMIN_OWNED_META = {
'روشن: منوی اتوماسیون در پنل ادمین و اجرای موتور فعال است. خاموش: منو مخفی است و API/کران اجرا نمی‌شود. فقط از سوپرادمین قابل تغییر است.',
type: 'switch',
},
enable_gold_credit: {
value: 'false',
title_fa: 'اعتبار طلایی',
description:
'روشن: زیرمنوی اعتبار در مشتریان و صفحه اعتبار در اپ مشتری. خاموش: غیرفعال. فقط از سوپرادمین.',
type: 'switch',
},
has_landing: {
value: 'false',
title_fa: 'لندینگ وبسایت',
@@ -251,6 +259,13 @@ const SUPERADMIN_OWNED_META = {
'روشن: بخش نمودارها در اپلیکیشن فعال است. خاموش: نمودارها غیرفعال هستند.',
type: 'switch',
},
enable_remittance: {
value: 'false',
title_fa: 'حواله',
description:
'روشن: امکان انتقال وجه یا محصول از کیف پول به سایر شماره‌ها توسط کاربران فعال است. خاموش: این امکان غیرفعال است.',
type: 'switch',
},
};
for (const [key, meta] of Object.entries(SUPERADMIN_OWNED_META)) {
+6
View File
@@ -93,6 +93,11 @@ export const PLUGIN_CATALOG_SEED: Array<{
titleFa: 'نمودارها',
description: 'نمایش و فعال‌سازی نمودارها در اپلیکیشن.',
},
{
settingKey: 'enable_remittance',
titleFa: 'حواله',
description: 'روشن: امکان انتقال وجه یا محصول از کیف پول به سایر شماره‌ها توسط کاربران فعال است. خاموش: این امکان غیرفعال است.',
},
];
export function daysToPlanMonths(days: number): 0 | 1 | 3 | 6 | 12 {
@@ -133,6 +138,7 @@ export function inferSettingKeyFromName(name: string): string | null {
[/لندینگ/, 'has_landing'],
[/مجوز/, 'permision__enabled'],
[/نمودار/, 'has_charts'],
[/حواله/, 'enable_remittance'],
];
for (const [re, key] of rules) {
if (re.test(n)) return key;
@@ -10,6 +10,7 @@ export const DEPLOY_SETTING_CATALOG_KEYS = new Set<string>([
"enable_customer_level_profit",
"enable_gold_credit",
"enable_product_funds",
"enable_remittance",
"group_sms",
"has_charts",
"has_landing",
@@ -36,6 +37,7 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"balance_report_exclude_customer_id",
"bale_bot_token",
"banner_enabled",
"brand_logos",
"buy_fee",
"change_mesghal",
"charge_notif",
@@ -76,6 +78,7 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"fee_deduct_from_gold",
"fee_free",
"fee_service_charge_percentage",
"fee_show_in_factor",
"gift_for_referral",
"gift_for_referrer",
"has_chat",
@@ -90,9 +93,18 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"landing_header",
"landing_hero",
"landing_live_price",
"landing_seo_html",
"landing_site",
"landing_steps",
"landing_theme",
"landing_trust",
"login_hero_brand_name",
"login_hero_eyebrow",
"login_hero_feature_1",
"login_hero_feature_2",
"login_hero_feature_3",
"login_hero_feature_4",
"login_hero_title",
"logo_login",
"logo_register",
"main_metal",
@@ -105,6 +117,9 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"min_withdraw",
"minimum_sell",
"montify_name",
"montzar_account_pargar",
"montzar_account_tahesab",
"montzar_account_zarin",
"montzar_base_url",
"montzar_closed",
"montzar_diff",
@@ -115,6 +130,8 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"montzar_open_buy",
"montzar_open_sell",
"montzar_order_response",
"montzar_order_status_path",
"montzar_order_wait_callback",
"montzar_password",
"montzar_product_id",
"montzar_token",
@@ -125,9 +142,13 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"node_shared_secret",
"open_register",
"pargar_api_token",
"pargar_backfill_include_old",
"pargar_bank_account_id",
"pargar_bank_card_number",
"pargar_item_id_gold",
"pargar_item_id_rial",
"pargar_password",
"pargar_sync_withdraw_documents",
"pargar_username",
"payping_fin_customer_id",
"payping_fin_sync_enabled",
@@ -139,6 +160,7 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"payping_start_url",
"payping_strict_failed_withdraw",
"payping_verify_url",
"physical_withdraw_pay_on_site_enabled",
"price_channel_access",
"price_channel_bale_to",
"price_channel_diff",
@@ -147,13 +169,16 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"price_channel_footer_link",
"price_channel_footer_phone",
"price_channel_message_text",
"price_channel_product_message_text",
"price_channel_messengers",
"price_channel_min_seconds",
"price_channel_product_message_text",
"price_channel_rubika_to",
"price_channel_telegram_to",
"price_extreme_date",
"price_extreme_source",
"price_provider",
"product_allowed_price_sources",
"product_formula_presets",
"products_site_link_enabled",
"products_site_link_text",
"products_site_link_url",
@@ -168,6 +193,7 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"register_jibit_verify",
"register_referral_bonus_message",
"register_referral_sms_to_referrer",
"require_accept_rules",
"require_zero_main_gold_before_other_buy",
"rubika_bot_token",
"sell_fee",
@@ -179,6 +205,7 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"show_product_card_meta",
"show_product_details",
"show_product_trade_status",
"sms_charge_card_number",
"sms_notif_bank_card_admin",
"sms_notif_bank_card_customer",
"sms_notif_fund_withdraw_admin",
@@ -196,6 +223,16 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"sms_notif_withdraw_admin",
"sms_notif_withdraw_otp",
"sms_panel",
"sms_panel_0098_from",
"sms_panel_0098_password",
"sms_panel_0098_username",
"sms_panel_asanak_password",
"sms_panel_asanak_source",
"sms_panel_asanak_username",
"sms_panel_free_sms_password",
"sms_panel_free_sms_phone_number",
"sms_panel_free_sms_username",
"sms_panel_provider",
"sse_path",
"startDay",
"support_messenger",
@@ -214,6 +251,7 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"title_pwa",
"tracking_systems",
"tracking_systems_enabled",
"tv_news",
"unit",
"up_price",
"wallet_payment_provider",
@@ -222,6 +260,7 @@ export const DEPLOY_SETTING_EDITABLE_KEYS = new Set<string>([
"zaarbox_price_key",
"zarin_api",
"zarin_gorohe_kar",
"zarin_idbank",
"zarin_name_g",
"zarin_noe_kar",
"zarin_noe_kar_tedadi",