UNPKG

@anjir/app-novinhub

Version:

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

121 lines 4.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.novinhubListCommentsAction = 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.novinhubListCommentsAction = (0, apps_framework_1.createAction)({ auth: index_1.novinhubAuth, name: 'list_comments', displayName: 'لیست کامنت‌ها', description: 'دریافت لیست کامنت‌های کاربر در نوین هاب', props: { tag: apps_framework_1.Property.Array({ displayName: 'تگ‌های کامنت', description: 'فیلتر بر اساس شناسه تگ‌های کامنت (اختیاری)', required: false, properties: { tag_id: apps_framework_1.Property.Number({ displayName: 'شناسه تگ', description: 'شناسه تگ کامنت', required: true, }), }, }), status: apps_framework_1.Property.StaticDropdown({ displayName: 'وضعیت کامنت', description: 'فیلتر بر اساس وضعیت کامنت (اختیاری)', required: false, options: { disabled: false, options: [ { label: 'فعال', value: 'active' }, { label: 'غیرفعال', value: 'inactive' }, { label: 'در انتظار تایید', value: 'pending' }, { label: 'رد شده', value: 'rejected' }, ], }, }), date_from: apps_framework_1.Property.DateTime({ displayName: 'تاریخ شروع', description: 'فیلتر کامنت‌های بعد از این تاریخ (اختیاری)', required: false, }), date_to: apps_framework_1.Property.DateTime({ displayName: 'تاریخ پایان', description: 'فیلتر کامنت‌های قبل از این تاریخ (اختیاری)', required: false, }), search: apps_framework_1.Property.ShortText({ displayName: 'جستجو', description: 'جستجو در متن کامنت (اختیاری)', required: false, }), after: apps_framework_1.Property.ShortText({ displayName: 'مرجع صفحه بعدی', description: 'مرجع برای دریافت صفحه بعدی (اختیاری)', required: false, }), before: apps_framework_1.Property.ShortText({ displayName: 'مرجع صفحه قبلی', description: 'مرجع برای دریافت صفحه قبلی (اختیاری)', required: false, }), }, async run(ctx) { const { tag, status, date_from, date_to, search, after, before } = ctx.propsValue; const headers = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${ctx.auth.access_token}`, }; const queryParams = {}; if (tag && tag.length > 0) { queryParams.tag = tag.map((item) => item.tag_id); } if (status) { queryParams.status = status; } if (date_from) { queryParams.date_from = new Date(date_from).toISOString().split('T')[0]; } if (date_to) { queryParams.date_to = new Date(date_to).toISOString().split('T')[0]; } if (search) { queryParams.search = search; } if (after) { queryParams.after = after; } if (before) { queryParams.before = before; } const url = (0, common_1.buildApiUrl)('/comment', queryParams); try { const response = await apps_common_1.httpClient.sendRequest({ method: apps_common_1.HttpMethod.GET, url: url, headers: headers, }); if (response.status === 200) { return { success: true, comments: 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=list-comments.js.map