fix(plugins): per-tenant plugin store flag and harden broken schema APIs

Store enablement is now a tenant settings row instead of a global runtime switch, and expiring/requests endpoints degrade to empty lists when store tables are missing.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-07 19:51:11 +03:30
co-authored by Cursor
parent 1f776cf6e2
commit b3112cf032
9 changed files with 301 additions and 136 deletions
@@ -1,4 +1,6 @@
/** کلیدهای runtime / لاگ — مال سوپرادمین نیستند؛ در اپ خانگی توسط cron پر می‌شوند. */
export const PLUGIN_STORE_SETTING_KEY = 'plugin_store_enabled';
export const RUNTIME_PROGRAM_SETTING_KEYS = new Set([
'montzar_last_product_log',
'montzar_order_response',
@@ -13,6 +15,7 @@ export const RUNTIME_PROGRAM_SETTING_KEYS = new Set([
'down_price',
'price_extreme_date',
'do_send_liman',
PLUGIN_STORE_SETTING_KEY,
]);
export function isRuntimeProgramSettingKey(keyRaw: string): boolean {