UNPKG

@anjir/app-novinhub

Version:

نوین هاب - پلتفرم کامل مدیریت شبکه‌های اجتماعی، دایرکت هوشمند، و خودکارسازی پیام‌رسانی

115 lines 5.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.novinhubCreateAutomationMenuAction = void 0; const apps_framework_1 = require("@anjir/apps-framework"); const apps_common_1 = require("@anjir/apps-common"); const index_1 = require("../../index"); const common_1 = require("../common"); exports.novinhubCreateAutomationMenuAction = (0, apps_framework_1.createAction)({ auth: index_1.novinhubAuth, name: 'create_automation_menu', displayName: 'ایجاد منوی ثابت', description: 'ایجاد منوی ثابت جدید برای دایرکت', props: { accountId: apps_framework_1.Property.Number({ displayName: 'شناسه اکانت', description: 'شناسه اکانتی که منو برای آن ایجاد می‌شود', required: true, }), menu_items: apps_framework_1.Property.Array({ displayName: 'آیتم‌های منو', description: 'لیست آیتم‌های منوی ثابت', required: true, properties: { title: apps_framework_1.Property.ShortText({ displayName: 'عنوان دکمه', description: 'متن روی دکمه منو', required: true, }), type: apps_framework_1.Property.StaticDropdown({ displayName: 'نوع آیتم', description: 'نوع آیتم منو', required: true, options: { disabled: false, options: [ { label: 'پیام', value: common_1.AUTOMATION_MENU_TYPES.MESSAGE }, { label: 'لینک', value: common_1.AUTOMATION_MENU_TYPES.LINK }, { label: 'فرم', value: common_1.AUTOMATION_MENU_TYPES.FORM }, ], }, }), message_ids: apps_framework_1.Property.ShortText({ displayName: 'شناسه پیام‌ها', description: 'لیست شناسه پیام‌ها جدا شده با کاما (فقط برای نوع پیام)', required: false, }), auto_form_id: apps_framework_1.Property.Number({ displayName: 'شناسه فرم خودکار', description: 'شناسه فرم خودکار (فقط برای نوع فرم)', required: false, }), url: apps_framework_1.Property.ShortText({ displayName: 'آدرس لینک', description: 'آدرس URL (فقط برای نوع لینک)', required: false, }), }, }), }, async run(ctx) { const { accountId, menu_items } = ctx.propsValue; const headers = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${ctx.auth.access_token}`, }; // Process menu items const processedMenuItems = menu_items?.map((item) => { const menuItem = { title: item.title, type: item.type, }; // Add type-specific fields if (item.type === common_1.AUTOMATION_MENU_TYPES.MESSAGE && item.message_ids) { menuItem.message_ids = item.message_ids.split(',').map((id) => parseInt(id.trim())); } else if (item.type === common_1.AUTOMATION_MENU_TYPES.FORM && item.auto_form_id) { menuItem.auto_form_id = item.auto_form_id; } else if (item.type === common_1.AUTOMATION_MENU_TYPES.LINK && item.url) { menuItem.url = item.url; } return menuItem; }); const body = { menu: processedMenuItems, }; const url = (0, common_1.buildApiUrl)(`/automation/${accountId}/menu`); try { const response = await apps_common_1.httpClient.sendRequest({ method: apps_common_1.HttpMethod.POST, url: url, headers: headers, body: body, }); if (response.status === 200 || response.status === 201) { return { success: true, automation_menu: response.body, message: 'منوی ثابت با موفقیت ایجاد شد', }; } else { throw new Error(`خطا در ایجاد منوی ثابت: ${response.body?.message || `HTTP ${response.status}`}`); } } catch (error) { const errorMessage = error.message || error.toString() || 'خطا در ایجاد منوی ثابت'; return { success: false, error: errorMessage, }; } }, }); //# sourceMappingURL=create-automation-menu.js.map