UNPKG

@anjir/app-novinhub

Version:

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

172 lines 7.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.novinhubUpdateAccountAction = 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.novinhubUpdateAccountAction = (0, apps_framework_1.createAction)({ auth: index_1.novinhubAuth, name: 'update_account', displayName: 'ویرایش اکانت', description: 'ویرایش اطلاعات اکانت شبکه اجتماعی در نوین هاب', props: { accountId: apps_framework_1.Property.Number({ displayName: 'شناسه اکانت', description: 'شناسه اکانتی که می‌خواهید ویرایش کنید', required: true, }), type: apps_framework_1.Property.StaticDropdown({ displayName: 'نوع شبکه اجتماعی', description: 'شبکه اجتماعی مورد نظر', required: true, options: { disabled: false, options: [ { label: (0, common_1.getSocialNetworkDisplayName)(common_1.SOCIAL_NETWORKS.TELEGRAM), value: common_1.SOCIAL_NETWORKS.TELEGRAM }, { label: (0, common_1.getSocialNetworkDisplayName)(common_1.SOCIAL_NETWORKS.BALE), value: common_1.SOCIAL_NETWORKS.BALE }, { label: (0, common_1.getSocialNetworkDisplayName)(common_1.SOCIAL_NETWORKS.EITAA), value: common_1.SOCIAL_NETWORKS.EITAA }, { label: (0, common_1.getSocialNetworkDisplayName)(common_1.SOCIAL_NETWORKS.GAP), value: common_1.SOCIAL_NETWORKS.GAP }, { label: (0, common_1.getSocialNetworkDisplayName)(common_1.SOCIAL_NETWORKS.SOROUSH), value: common_1.SOCIAL_NETWORKS.SOROUSH }, ], }, }), redirect: apps_framework_1.Property.ShortText({ displayName: 'لینک بازگشت', description: 'لینک بازگشت در صورتی که کاربر به شبکه اجتماعی هدایت شود (اختیاری)', required: false, }), // Common fields username: apps_framework_1.Property.ShortText({ displayName: 'نام کاربری کانال', description: 'نام کاربری کانال شبکه اجتماعی (بدون @)', required: false, }), // Telegram specific fields telegram_botusername: apps_framework_1.Property.ShortText({ displayName: 'نام کاربری ربات تلگرام', description: 'نام کاربری ربات سفارشی تلگرام (اختیاری)', required: false, }), telegram_botapikey: apps_framework_1.Property.ShortText({ displayName: 'کلید API ربات تلگرام', description: 'کلید API ربات سفارشی تلگرام (اختیاری)', required: false, }), // Bale specific fields bale_botusername: apps_framework_1.Property.ShortText({ displayName: 'نام کاربری ربات بله', description: 'نام کاربری ربات سفارشی بله (اختیاری)', required: false, }), bale_botapikey: apps_framework_1.Property.ShortText({ displayName: 'کلید API ربات بله', description: 'کلید API ربات سفارشی بله (اختیاری)', required: false, }), // Eitaa specific fields eitaa_token: apps_framework_1.Property.ShortText({ displayName: 'توکن کانال ایتا', description: 'توکن کانال شبکه ایتا', required: false, }), // Gap specific fields gap_botusername: apps_framework_1.Property.ShortText({ displayName: 'نام کاربری ربات گپ', description: 'نام کاربری ربات سفارشی گپ (اختیاری)', required: false, }), gap_botapikey: apps_framework_1.Property.ShortText({ displayName: 'کلید API ربات گپ', description: 'کلید API ربات سفارشی گپ (اختیاری)', required: false, }), // Soroush specific fields soroush_botapikey: apps_framework_1.Property.ShortText({ displayName: 'کلید API ربات سروش', description: 'کلید API ربات سفارشی سروش (اختیاری)', required: false, }), }, async run(ctx) { const { accountId, type } = ctx.propsValue; const headers = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${ctx.auth.access_token}`, }; // Build request body based on social network type const body = { type, }; if (ctx.propsValue.redirect) { body.redirect = ctx.propsValue.redirect; } if (ctx.propsValue.username) { body.username = ctx.propsValue.username; } // Add network-specific fields switch (type) { case common_1.SOCIAL_NETWORKS.TELEGRAM: if (ctx.propsValue.telegram_botusername) { body.botusername = ctx.propsValue.telegram_botusername; } if (ctx.propsValue.telegram_botapikey) { body.botapikey = ctx.propsValue.telegram_botapikey; } break; case common_1.SOCIAL_NETWORKS.BALE: if (ctx.propsValue.bale_botusername) { body.botusername = ctx.propsValue.bale_botusername; } if (ctx.propsValue.bale_botapikey) { body.botapikey = ctx.propsValue.bale_botapikey; } break; case common_1.SOCIAL_NETWORKS.EITAA: if (ctx.propsValue.eitaa_token) { body.token = ctx.propsValue.eitaa_token; } break; case common_1.SOCIAL_NETWORKS.GAP: if (ctx.propsValue.gap_botusername) { body.botusername = ctx.propsValue.gap_botusername; } if (ctx.propsValue.gap_botapikey) { body.botapikey = ctx.propsValue.gap_botapikey; } break; case common_1.SOCIAL_NETWORKS.SOROUSH: if (ctx.propsValue.soroush_botapikey) { body.botapikey = ctx.propsValue.soroush_botapikey; } break; } const url = (0, common_1.buildApiUrl)(`/account/${accountId}`); try { const response = await apps_common_1.httpClient.sendRequest({ method: apps_common_1.HttpMethod.PUT, url: url, headers: headers, body: body, }); if (response.status === 200) { return { success: true, account: response.body, message: `اکانت ${(0, common_1.getSocialNetworkDisplayName)(type)} با موفقیت ویرایش شد`, }; } else { throw new Error(`خطا در ویرایش اکانت: ${response.body?.message || `HTTP ${response.status}`}`); } } catch (error) { const errorMessage = error.message || error.toString() || 'خطا در ویرایش اکانت'; return { success: false, error: errorMessage, }; } }, }); //# sourceMappingURL=update-account.js.map